Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.08.01;
Скачать: 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 вся ветка

Текущий архив: 2004.08.01;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.052 c
3-1089179265
vova
2004-07-07 09:47
2004.08.01
как бистро записать в базу даниє из записи:record


14-1089867119
Мазут Береговой
2004-07-15 08:51
2004.08.01
Целуйтесь, господа, целуйтесь... или жиром натирайтесь...


3-1089270297
Koala
2004-07-08 11:04
2004.08.01
Вопрос мастерам


1-1090410817
Игорь_
2004-07-21 15:53
2004.08.01
Свойство формы


1-1090325827
NeyroSpace
2004-07-20 16:17
2004.08.01
Как правильно создать приложение, чтобы его заголовок