![]() |
Модераторы: feodorv |
![]() ![]() ![]() |
|
MoZy |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 193 Регистрация: 4.6.2006 Репутация: -2 Всего: 0 |
Доброго всем лета.
Нужно подцепиться к серверу, и сразу послать пакет, в котором содержится собственный IP и порт.
после этого выводит: 0.0.0.0; 0; 0 не уверен, что connect проходит сразу. Как узнать, что сконектился, если сокет через WSAAsyncSelect? там есть флаг FD_CONNECT, но как его принимать, через какой параметр? Спасибо за внимание. --------------------
Experimentia est optima rerum magistra |
|||
|
||||
MoZy |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 193 Регистрация: 4.6.2006 Репутация: -2 Всего: 0 |
Оказывается в getsockname третий параметр предварительно должен равняться sizeof(sockaddr)
Если после connect'a с помощью getsockname получить имя сокета, то my_addr.sin_addr.S_un.S_addr будет содержать IP не нулевой, если конект удачный. Это неплохо помогает при асинхронном соединении, так как даже при неудачном конекте событие FD_CONNECT пролазит. События FD_... передаются через LOWORD(lParam). Сокет же, который данное событие вызвал, через (SOCKET)wParam. ![]() --------------------
Experimentia est optima rerum magistra |
|||
|
||||
![]() ![]() ![]() |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Сети | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |