Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
simeon
Зарегистрирован: 10.10.2007 Сообщения: 4
|
Добавлено: Ср Окт 10 2007 21:57 Заголовок сообщения: Проблема с Сокетами |
|
|
Помогите, плиииизззз!!!
Суть проблемы:
Создаю серверный сокет и перехожу в режим ожидания соединения. Соединение осуществляется, затем пошла передача данных туда-сюда. Потом отрубается клиент. На сервере соотв-но я тоже закрываю сокет (тот, который вернула функция accept) и начинаю прослушивание заново.
Фишка вот в чем: при первом соединении функция accept возвращает адрес, откуда было произведено подключение (функ-я inet_ntoa() возвращает корректный IP адрес). НООООО!!!! При последующих подключениях адрес возвращается нулевой!!!! Соотв-но IP = 0.0.0.0!!!!
Вопрос: почему такая фигня??? Все становится в норму только после перезапуска сервера, и то до второго подключения.
P.S. Создание и закрытие сокетов произвожу по правилам, особенно закрытие (shutdown(), а затем close()). |
|
Вернуться к началу |
|
![](templates/subSilver/images/spacer.gif) |
AsteRisk
Зарегистрирован: 02.10.2007 Сообщения: 5
|
Добавлено: Чт Окт 11 2007 07:08 Заголовок сообщения: |
|
|
код в студию |
|
Вернуться к началу |
|
![](templates/subSilver/images/spacer.gif) |
simeon
Зарегистрирован: 10.10.2007 Сообщения: 4
|
Добавлено: Чт Окт 11 2007 13:22 Заголовок сообщения: |
|
|
Спасибо всем кто заходил помочь! Я разобрался! Оказывается при вызове функции accept() необходимо передать ей ОБЯЗАТЕЛЬНО начальный размер структуры адреса, куда будут записаны параметры соединения. Вот! |
|
Вернуться к началу |
|
![](templates/subSilver/images/spacer.gif) |
|