Geleos
Авг. 9, 2011 10:00:05
Добрый день, появилась проблема:
Есть несколько копий программы.
Программа коннектится к серверу, каждая копия по своему порту.
При работе одной копии проблем не наблюдается, при запуске второй копии первый сокет отваливается, при этом на сервере запись что-то в стиле “не могу считать заголовок из сообщения, закрываю сокет”.
коннект стандартный:
PORT = 1111
HOST = “11.1.11.111”
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sock.connect((HOST, PORT))
Подскажите пожалуйста решение, при этом принципиально запускать на одной машине несколько копий, а не одно приложение.
P.S. Заранее спасибо.
Андрей Светлов
Авг. 9, 2011 10:52:57
А сервер у вас не кривой?
Geleos
Авг. 9, 2011 11:51:40
нет, к серверу стучатся физические устройства, с ними таких проблем не наблюдается, а вот с их эмуляцией как раз наблюдаются =/
Андрей Светлов
Авг. 9, 2011 12:34:50
Тогда так: стандартный connect должен отрабатывать правильно. Где вы дальше ошибаетесь — без понятия.
vvpoloskin
Сен. 2, 2011 20:00:09
Geleos
Добрый день, появилась проблема:
Есть несколько копий программы.
Программа коннектится к серверу, каждая копия по своему порту.
При работе одной копии проблем не наблюдается, при запуске второй копии первый сокет отваливается, при этом на сервере запись что-то в стиле “не могу считать заголовок из сообщения, закрываю сокет”.
коннект стандартный:
PORT = 1111
HOST = “11.1.11.111”
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sock.connect((HOST, PORT))
Подскажите пожалуйста решение, при этом принципиально запускать на одной машине несколько копий, а не одно приложение.
P.S. Заранее спасибо.
Проблема может быть не в Python. Вполне возможно, что на сервере установлен, например, фильтр соединений с одного IP-адреса. Поэксперементируйте, поменяйте IP в заголовках.