Уведомления

Группа в Telegram: @pythonsu

#1 Июнь 2, 2011 15:40:57

Dezabro
От:
Зарегистрирован: 2011-06-02
Сообщения: 3
Репутация: +  0  -
Профиль   Отправить e-mail  

сокеты, винда

Здравствуйте. Очень сильно надеюсь на Ваш совет:)
Ситуация следующая:
Дано:
python3.2
windows 7 sp1

Задача:
Задачи 2, но все связаны с сокетами и в обеих одинаковая проблема.
Надо было написать игру по топологии клиент-клиент на юдп сокетах и хттп-клиент с функцией get(соответственно tcp сокеты)

Проблема:

Обе задачи отлично работают, если запускаю их из IDE(Eclipse). Если я запускаю их из cmd, то соединение ни в какую не устанавливается(за исключением: в первой задачи поднимаю сервер в консоли и конекчусь к нему через запуск в IDE. В этом случае коннект устанавливается нормально). Проверял на windows xp, там все работает отлично.
Отключал фаервол, все равно не пускает.

сокеты создаю в первой лабе:
Сервер:

        s = None
try:
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
except socket.error as msg:
print(msg)
s = None

s.bind(('0.0.0.0',PORT))
while True:
try:
(data,addr) = s.recvfrom(1024)

except socket.timeout as err:
print("Nobody want's to connect! /cry")
sys.exit(1)

if data == b"CONNECT":
print("User from {0} connected".format(addr))
s.sendto(b"CONNECT_OK",addr)
break
Клиент:
        try:
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
s.settimeout(15)
except socket.error as msg:
print(msg)
s.close()
s = None

if s is None:
print('could not open socket')
sys.exit(1)

addr=(HOST,int(PORT))
msg="CONNECT"
s.sendto(bytes(msg,"ascii"),addr)
try:
data = s.recvfrom(1024)[0]
except socket.timeout as err:
print("Connection lost! /cry")
sys.exit(1)
Подскажите, кто может:)



Отредактировано (Июнь 2, 2011 15:42:20)

Офлайн

#2 Июнь 2, 2011 22:38:51

Dezabro
От:
Зарегистрирован: 2011-06-02
Сообщения: 3
Репутация: +  0  -
Профиль   Отправить e-mail  

сокеты, винда

Нашел в чем был косяк. При вводе адреса в консоли к нему добавлялось “\r”. Надо не забывать strip() делать:)



Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version