Уведомления

Группа в Telegram: @pythonsu

#1 Сен. 29, 2010 15:06:33

CyberTramp
От:
Зарегистрирован: 2010-09-29
Сообщения: 3
Репутация: +  0  -
Профиль   Отправить e-mail  

Клиент-сервер ?

Как правильно установить связь клиента с сервером, если, клиент имеет внутренний IP «10.1.1.10» и внешний «36.36.36.36» , сервер так же имеет внутренний IP «192.168.1.192» и внешний «33.33.33.33». Понятно что только внутренний или только внешний проблему не составляет.



Офлайн

#2 Сен. 29, 2010 16:25:49

Lexander
От:
Зарегистрирован: 2008-09-19
Сообщения: 1139
Репутация: +  33  -
Профиль   Отправить e-mail  

Клиент-сервер ?

Для соединения используется пара адрес:порт, которые обеспечивают уникальность и, соответственно, связь.



Офлайн

#3 Сен. 29, 2010 16:35:12

CyberTramp
От:
Зарегистрирован: 2010-09-29
Сообщения: 3
Репутация: +  0  -
Профиль   Отправить e-mail  

Клиент-сервер ?

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()
Я и делаю запрос адрес::порт.
Меня же интересует Соединение двух “серых” компьютеров
–> http://it.sander.su/udp-hole-punching.php

Что подразумевается под парой ?
С внутреннего ип делать запрос на внешний ?



Отредактировано (Сен. 29, 2010 16:43:41)

Офлайн

#4 Сен. 29, 2010 17:23:59

Андрей Светлов
От:
Зарегистрирован: 2007-05-15
Сообщения: 3137
Репутация: +  14  -
Профиль   Адрес электронной почты  

Клиент-сервер ?

вам это для баловства?



Офлайн

#5 Сен. 29, 2010 17:29:18

CyberTramp
От:
Зарегистрирован: 2010-09-29
Сообщения: 3
Репутация: +  0  -
Профиль   Отправить e-mail  

Клиент-сервер ?

Андрей Светлов
вам это для баловства?
Это конечно лучше чем флуд…..
Но хотелось бы по факту, сылку, код, направление поиска ?
Мне это для разработки.



Офлайн

#6 Сен. 29, 2010 18:51:02

Lexander
От:
Зарегистрирован: 2008-09-19
Сообщения: 1139
Репутация: +  33  -
Профиль   Отправить e-mail  

Клиент-сервер ?

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


Андрей Светлов
Ну почему же, задача туннелирования в наше время очень интересна.



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version