Вниз
Скачать: CL | DM;

Winsock: recv постоянно возвращает 65535   Найти похожие ветки 

 
Micah'GF   (2004-05-31 10:45) [0]

sSocketGlobal := Socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP);
sWorkSocket := connect(sSocketGlobal, AdressStruct, SizeOf(AdressStruct));


..

Result := recv(sSocketGlobal, data, 1024, 0);

почему так может быть?


 
Verg ©   (2004-05-31 11:21) [1]

Какой тип имеет Result?
Скорее всего recv у тебя возвращает значение SOCKET_ERROR, а если Result у тебя типа word, то ты и получишь 65535.  Между прочим, recv - это функция типа integer.


 
nomshar   (2004-05-31 11:27) [2]

Пройдить в кейсе  (case) по кодам ошибок. Это раз.
Ну, а главное, что ты посылаешь своему сокету? MSDN почитай. Я русским (вернее английскийм) по белому сказано, что функция recv возвращает количество байт принятой информации. Если соединение было закрыто без нарушений (по MSDN "изящно, грациозно"), то функция возвратит ноль. Иначе возвращает код ошибки. Так что проверяй WSAGetLastError.


 
Micah'GF   (2004-05-31 11:55) [3]

да, действительно возвращает 10038
а почему так может быть connect() же возвращает 0 и я так понимаю соединение устанавливается!?!
и еще: я устанавливаю соединение с 10.1.4.255 и send() не работает, а если с 10.1.4.100 (свой адрес) то нормально..?!  (датаграммы ловлю с помошью XSpuder)



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.036 c
4-1087876799
Vitt_lay
2004-06-22 07:59
2004.08.01
Работа с COM-портом в потоке


14-1089872421
Prohodil Mimo
2004-07-15 10:20
2004.08.01
Много ли девушек которые вообще не используют косметики?


3-1089278393
alexe
2004-07-08 13:19
2004.08.01
Как исключить лишние записи из SQL-запроса, используя Count?


3-1089106576
RainKM
2004-07-06 13:36
2004.08.01
Paradox


14-1089555979
Sour
2004-07-11 18:26
2004.08.01
Сколько стоит разработка движка для корпоративного сайта?




   Наверх