Форум сайта python.su
Как правильно установить связь клиента с сервером, если, клиент имеет внутренний IP «10.1.1.10» и внешний «36.36.36.36» , сервер так же имеет внутренний IP «192.168.1.192» и внешний «33.33.33.33». Понятно что только внутренний или только внешний проблему не составляет.
Офлайн
Для соединения используется пара адрес:порт, которые обеспечивают уникальность и, соответственно, связь.
Офлайн
LexanderЯ знаю что масло масленое. :/
Для соединения используется пара адрес:порт, которые обеспечивают уникальность и, соответственно, связь.
from socket import *
host = "localhost"
port = 123
buf = 1024
addr = (host,port)
UDPSock = socket(AF_INET,SOCK_DGRAM)
UDPSock.bind(addr)
while 1:
data,addr = UDPSock.recvfrom(buf)
UDPSock.close()
from socket import *
host = "localhost"
port = 123
buf = 1024
addr = (host,port)
UDPSock = socket(AF_INET,SOCK_DGRAM)
while (1):
data = raw_input('>> ')
UDPSock.close()
Отредактировано (Сен. 29, 2010 16:43:41)
Офлайн
вам это для баловства?
Офлайн
Андрей СветловЭто конечно лучше чем флуд…..
вам это для баловства?
Офлайн
CyberTramp
Вам нужен 3-й компонент, который обеспечит передачу параметров связи (те самые пары адрес:порт) 2-х программ.
Кстати, по приведенной вами ссылке, алгоритм описан в подразделе “Решение”.
Только там ошибка, вместо “A и B связываются с S и сообщают ему порты P1 и P2” должно быть “A и B связываются с S и сообщают ему порты P1 и P3” - т.е. А и В сообщают 3-й компоненте свои порты.
Посмотрите еще
http://trac.pjsip.org/repos/wiki/Python_SIP_Tutorial
http://blog.yimingliu.com/2008/01/07/nat-pmp-client-library-for-python/
http://pypi.python.org/pypi/nattraverso/0.1.1
Андрей Светлов
Ну почему же, задача туннелирования в наше время очень интересна.
Офлайн