Russian Qt Forum

Qt => Работа с сетью => Тема начата: joshua от Декабрь 15, 2004, 21:25



Название: QServerSocket::faild to bind or listen to the socket
Отправлено: joshua от Декабрь 15, 2004, 21:25
Работает два приложения, сервер (от QServerSocket) и клиент. Если происходит аварийное завершение работы серверного приложения, при его повторном запуске в консоль вываливается сообщение, приведенное выше. Естесственно объект сервера не запускается, приходится менять порт или ждать какое-то время. Процессов серверного приложения в "ps ax" не остается, можно его только пронаблюдать "netstat". Пытался при каждом запуске серверного приложения сначала прозванивать порт, с целью получения идентификатора сокета и гашения его методом линукса "close(int sockrt_id)", получается через раз. У кого есть какие идеи? помогите плиз, если надо могу вывалить код. Спасибо.


Название: QServerSocket::faild to bind or listen to the socket
Отправлено: Admin от Декабрь 16, 2004, 11:57
пример от QT смотрел?
client-server


Название: QServerSocket::faild to bind or listen to the socket
Отправлено: Sergeich от Декабрь 16, 2004, 16:46
Странно все это....
Если порт занят, то дожен быть жив процесс, который его занимает.
Попробуй посмотреть через ps -A. Наверно у тебя в коде че-то не то.
Я написал больше десятка приложений, к-ые используют QServerSocket, и никогда таких проблем не имел, ни под Linux, ни под Solaris. Высылай код.


Название: QServerSocket::faild to bind or listen to the socket
Отправлено: joshua от Декабрь 17, 2004, 17:19
Adminy'y: хелпы по Qt конечно смотрел, и упомянутый Вами пример в частности. Такие проблемы они не рассматривают - описания борьбы с ошибкой я не нашел. Фишка в том, что при корректном завершение работы программы все Ок, а если она валится сама, без предупреждения (платформа Эльбрус, ОС - МСВС), то при повторном запуске вот такая попа. Отладка идет на Intel, при моделировании подобной ситуации та же хрень.


Название: QServerSocket::faild to bind or listen to the socket
Отправлено: Admin от Декабрь 17, 2004, 23:18
к сожалению я не специалист в этом

может посмотреть какое нибуть приложение с исходниками
как у них там сделано

licq например
или knote


Название: QServerSocket::faild to bind or listen to the socket
Отправлено: Sergeich от Декабрь 18, 2004, 14:41
Эльбрус ещё жив?! Круто!!!
Высылай исходники, без них ничего сказать не могу.


Название: QServerSocket::faild to bind or listen to the socket
Отправлено: west от Январь 22, 2005, 16:22
Sergeich: извиняюсь за молчание, отвлекся немного на другие проблеммы, но сейчас борюсь опять с ... faild to bind ...  и т.д. Эльбрус жив, недавно получили новую версию, для меня уже вторая, с четырьмя 500 процами. Но речь не о нем. Через ps -A отловил остатки процесса, через его pid попытался убить, на тестовом примере все ОК, при работе в реальной системе опять то же хамство.  Причем следов не найти.  Отсылаю исходники, там их несколько