Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Клуб программистов > Свободное общение
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 11.09.2011, 07:41   #1
Руслантус
Наркоман самоучка
Форумчанин
 
Аватар для Руслантус
 
Регистрация: 22.07.2007
Сообщений: 276
Радость Может ли так забиться буфер данных [TCP/Windows]

В общем, задался таким вопросом - если клиент преждевременно разорвёт TCP-соединение с сервером, то куда денутся данные из буфера? Будет ли буфер сразу очищен от них?
#include <мозг.h>
Руслантус вне форума Ответить с цитированием
Старый 11.09.2011, 10:22   #2
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

вообще должно быть чтото типа flush, или ручное или автоматом, а то как то не очень получается(может у меня короткое соединение)
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 11.09.2011, 14:13   #3
Руслантус
Наркоман самоучка
Форумчанин
 
Аватар для Руслантус
 
Регистрация: 22.07.2007
Сообщений: 276
По умолчанию

Может там есть некий таймер, который стирает неактивный буфер. Хотелось бы, конечно, узнать точно, а не гадать.
#include <мозг.h>
Руслантус вне форума Ответить с цитированием
Старый 12.09.2011, 13:44   #4
rpy3uH
добрый няша
Старожил
 
Аватар для rpy3uH
 
Регистрация: 29.10.2006
Сообщений: 4,804
По умолчанию

всё зависит от драйвера TCP/IP, также немаловажно каким образом работают собственно сами программы передающие через сеть данные.
rpy3uH вне форума Ответить с цитированием
Старый 12.09.2011, 13:54   #5
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

эмм, причем тут TCP/IP драйвер?(хотя если насчет времени освобождения данных, то пожалуй да)
тут скорее поведение API функций надо смотреть.
вот про функцию closesocket:
Цитата:
This function closes a socket. More precisely, it releases the socket descriptor s, so that further references to s will fail with the error WSAENOTSOCK. If this is the last reference to an underlying socket, the associated naming information and queued data are discarded. Any pending blocking, asynchronous calls issued by any thread in this process are canceled without posting any notification messages, or signaling any event objects. Any pending overlapped send and receive operations (WSASend/WSASendTo/WSARecv/WSARecvFrom with an overlapped socket) issued by any thread in this process are also canceled without setting the event object or invoking the completion routine, if specified. In this case, the pending overlapped operations fail with the error status WSA_OPERATION_ABORTED. An application should always have a matching call to closesocket for each successful call to socket to return socket resources to the system.
но например DisconnectEx будет ждать выполенения отложенных операций.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.

Последний раз редактировалось Пепел Феникса; 12.09.2011 в 13:59.
Пепел Феникса вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Копирование текста в буфер в Windows 7 DemonXT Общие вопросы Delphi 6 11.04.2011 19:39
Может быть так, что в мамку может попасть вирус и не загружать жесткий диск Berzhan Операционные системы общие вопросы 6 27.07.2009 21:40
Проблема с передачей кириллицы через буфер обмена Windows Vodnik Win Api 2 12.07.2009 19:12
Копирование в буфер Windows NeiL Общие вопросы Delphi 3 23.04.2008 21:46