Главная страница
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.02 c
2-1295382612
Студент
2011-01-18 23:30
2011.04.24
Насколько я неправильно вывожу на печать через TPrinter?


15-1292834915
12
2010-12-20 11:48
2011.04.24
Как существует Антиматерия or Где хранить всепрожигающую киcлоту?


2-1295537929
Айнур
2011-01-20 18:38
2011.04.24
Вопрос по Edit


6-1191246733
__Unnamed__
2007-10-01 17:52
2011.04.24
Вопрос про сокеты, а точнее про FD_CLOSE и FD_READ


15-1294649384
tat'yanka
2011-01-10 11:49
2011.04.24
Дифрагментация дискового пространства