Уведомления

Группа в Telegram: @pythonsu

#1 Июнь 3, 2011 10:52:49

bigbiged
От:
Зарегистрирован: 2010-11-19
Сообщения: 12
Репутация: +  0  -
Профиль   Отправить e-mail  

Клиент - Сервер

Добрый день. Есть элементарный клиент и сервер:

Клиент

HOST = 'х.х.х.х'                 
PORT = хххх

s = socket.socket(socket.AF_INET, socket.SOCK_STREAM )

s.bind((HOST, PORT))
s.listen(1)
conn, addr = s.accept()
Сервер

HOST = 'х.х.х.х'                 
PORT = хххх

s = socket.socket(socket.AF_INET, socket.SOCK_STREAM )

s.connect((HOST, PORT))
print "Client running on %s port %s" % (HOST, PORT)
Дело в том, что все работает отлично когда IP адрес сервера и клиента имеет вид 78.60.х.х. .
А когда адрес сервера остаётся прежним, а клиента меняется на 10.33.39.х, не видят друг друга.

В чем проблема?



Офлайн

#2 Июнь 3, 2011 12:39:29

rip86oz
От:
Зарегистрирован: 2011-03-14
Сообщения: 24
Репутация: +  0  -
Профиль   Отправить e-mail  

Клиент - Сервер

Адрес изменятеся? Или может быть клиент из другой сети работает?



Офлайн

#3 Июнь 3, 2011 13:35:35

PooH
От:
Зарегистрирован: 2006-12-05
Сообщения: 1948
Репутация: +  72  -
Профиль   Отправить e-mail  

Клиент - Сервер

А пинги-то идут?



Вот здесь один из первых отарков съел лаборанта. Это был такой умный отарк, что понимал даже теорию относительности. Он разговаривал с лаборантом, а потом бросился на него и загрыз…

Офлайн

#4 Июнь 3, 2011 14:20:21

bigbiged
От:
Зарегистрирован: 2010-11-19
Сообщения: 12
Репутация: +  0  -
Профиль   Отправить e-mail  

Клиент - Сервер

rip86oz
Адрес изменятеся? Или может быть клиент из другой сети работает?
Да клиент из другой сети. Используя телефон в качестве модема. И с сервера пересылать данные.



Офлайн

#5 Июнь 3, 2011 15:40:35

agalen
От:
Зарегистрирован: 2011-03-23
Сообщения: 185
Репутация: +  17  -
Профиль   Отправить e-mail  

Клиент - Сервер

Если несколько интерфейсов на сервере, то попробуй там задать HOST='0.0.0.0'.



Офлайн

#6 Июнь 3, 2011 16:02:43

bigbiged
От:
Зарегистрирован: 2010-11-19
Сообщения: 12
Репутация: +  0  -
Профиль   Отправить e-mail  

Клиент - Сервер

agalen
Если несколько интерфейсов на сервере, то попробуй там задать HOST='0.0.0.0'.
error: A request to send or receive data was disallowed because the socket is not connected and (when sending on a datagram socket using a sendto call) no address was supplied



Офлайн

#7 Июнь 3, 2011 16:19:00

agalen
От:
Зарегистрирован: 2011-03-23
Сообщения: 185
Репутация: +  17  -
Профиль   Отправить e-mail  

Клиент - Сервер

'0.0.0.0' задавать надо на сервере, а у клиента должен быть правильный адрес.
И еще - проверь при модемном соединении правильно ли на клиенте выставляется default router.



Офлайн

#8 Июнь 3, 2011 17:06:02

bigbiged
От:
Зарегистрирован: 2010-11-19
Сообщения: 12
Репутация: +  0  -
Профиль   Отправить e-mail  

Клиент - Сервер

agalen
'0.0.0.0' задавать надо на сервере, а у клиента должен быть правильный адрес.
И еще - проверь при модемном соединении правильно ли на клиенте выставляется default router.
Насколько я понимаю, проблема возникает из-за того, что клиенту присваивается внешний IP. А сервер с внутренним. И поэтому не видят друг друга. Верно?



Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version