Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2011.04.24;
Скачать: CL | DM;

Вниз

Вопрос про сокеты, а точнее про FD_CLOSE и FD_READ   Найти похожие ветки 

 
имя   (2008-02-05 19:35) [40]

Удалено модератором


 
ага   (2008-02-06 13:22) [41]

Просмотрел бегло, может уже сказано, но не заметил.

Нормально это, FIN пришел вместе с последним пакетом. Сервер закончил запись и вызвал shutdown на свой передающий конец - типа больше ниче передавать не буду. Сокет отправил все из буфера и с последним пакетом - FIN. Получив его, нужно вычерпать все из буфера и закрыть свой приемный конец.


 
имя   (2009-02-04 17:32) [42]

Удалено модератором


 
FireMan_Alexey   (2009-02-04 18:29) [43]

Сделай так:

While True do
Begin
 Err:=Recv(...);
 IF err=SOCKET_ERROR and WSAGetLastError=WSAEWOULDBLOCK Then
   Break;
End;
Event - сигнализирует о приходе данных, а IOCTLSocket - покажет всего 8192 макс хотя там может быть и больше :) (проверенно экспериментально)
А вообще лучше использовать Select в потоках :) тоже экспериментально :)
Я тоже пытался прокси на Эвентах написать, но столкнулся с такой же ситуацией и с не закрытыми соединениями со стороны апачей :).
Спасло только то что весь код переделал под синхронные сокеты.


 
!"№;%:?*   (2009-03-12 07:30) [44]

При известном количестве данных - читай сколько указано в заголовке, recv вернет ошибку если соединение будет закныто раньше.

В отдельном потоке, можно и блокирующими сокетами обойтись.


 
Palladin ©   (2009-03-12 08:28) [45]


> FireMan_Alexey   (04.02.09 18:29) [43]

А ничего что год прошел? :)



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

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

Наверх




Память: 0.54 MB
Время: 0.008 c
15-1294834077
George
2011-01-12 15:07
2011.04.24
TIdHTTP.Get и Windows 7


15-1294349396
Юрий
2011-01-07 00:29
2011.04.24
С днем рождения ! 7 января 2011 пятница


2-1295179948
azl
2011-01-16 15:12
2011.04.24
Добавление разноцветной форматированной строки в RichEdit


15-1294499183
RWolf
2011-01-08 18:06
2011.04.24
GhostDoc для Delphi


2-1295289241
student22
2011-01-17 21:34
2011.04.24
запуск скрипта/Apache