Ru-MaNGOS

Ru-MaNGOS (http://mangos.ytdb.ru/index.php)
-   Копаем клиент (http://mangos.ytdb.ru/forumdisplay.php?f=35)
-   -   Сетевая активность ВоВ (http://mangos.ytdb.ru/showthread.php?t=4902)

Йоха 15.07.2011 15:45

Сетевая активность ВоВ
 
Сделал монитор сетевой активности для ВоВ, путем перехвата вызовов функций winsock, заметил пару интересных вещей:

1) вов видимо умеет работать по протоколу ipv6, потому что сперва он пробует создать сокет именно с ipv6, но у меня вызов завершается ошибкой (протокол не установлен)

2) первым делом он зачем-то создает UDP соединение на локальный адрес и постоянно шлет туда 1 байт, ну и принимает его соответственно.

Код:

DLL_PROCESS_ATTACH 2948
socket af = 2, type = 2, protocol = 17, result = 000021EC
bind 000021EC, result = 0
connect 000021EC, 127.0.0.1:4441, result = 0
socket af = 23, type = 2, protocol = 0, result = FFFFFFFF
socket af = 2, type = 1, protocol = 6, result = 000022F0
bind 000022F0, result = 0
connect 000022F0, 213.248.127.133:1119, result = -1

Красным выделена как раз строчка с попыткой создать сокет по протоколу ipv6 (это вызов socket(AF_INET6, SOCK_DGRAM, 0))

Правда тут я не понимаю момент с коннектом на localhost... А где вызов listen перед этим ? Или при использовании UDP протокола как-то иначе идет работа с сокетом в отличии от TCP ?

ну и вопрос впринципе - нафига он это делает ? на кой предмет постоянно слать себе 1 байт?

TOM_RUS 15.07.2011 17:39

Может это они так проверяют доступен ли протокол IPv6? :D

LordJZ 15.07.2011 18:13

Цитата:

Сообщение от Йоха (Сообщение 24152)
...
Правда тут я не понимаю момент с коннектом на localhost... А где вызов listen перед этим ? Или при использовании UDP протокола как-то иначе идет работа с сокетом в отличии от TCP ?
...

Да, чтобы принимать UDP пакеты достаточно recvfrom вызывать. Недавно разбирался с ними для популярной в последнее время белорусской онлайновой игрушки.

rsa 15.07.2011 20:15

Цитата:

Сообщение от Йоха (Сообщение 24152)
ну и вопрос впринципе - нафига он это делает ? на кой предмет постоянно слать себе 1 байт?

проверяет жив ли винсок вообще? в винде ситуация когда ядро и GDI еще телепаются а винсок уже отвалился - весьма распространена...

zergtmn 15.07.2011 20:56

Цитата:

Сообщение от rsa (Сообщение 24157)
проверяет жив ли винсок вообще? в винде ситуация когда ядро и GDI еще телепаются а винсок уже отвалился - весьма распространена...

Всегда забавляли ваши комментарии на счет винды =)))

rsa 16.07.2011 12:17

Цитата:

Сообщение от zergtmn (Сообщение 24159)
Всегда забавляли ваши комментарии на счет винды =)))

у нас с ней любовь :) причем давно - еще со времен 3.0 (не 3.1 а 3.0)


Текущее время: 10:26. Часовой пояс GMT +3.

ru-mangos.ru - Русское сообщество MaNGOS