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

Вниз

WinSock   Найти похожие ветки 

 
Serge_T   (2003-02-01 23:57) [0]

Делая лабы возник следующий вопрос: есть клиент и сервер. Использую блокирующие сокеты. Клиент посылает серверу некоторую строку используя send(), сервер принимает recv(Sock, buf, bufsize, MSG_PEEK). При этом возникает проблема: при втором вызове recv() не блокируеся и возвращается таже строка что и первый раз. В хелпе написано что recv() при MSG_PEEK не удаляет данные из входной очереди. Продскажите плз, как удалить эту информацию из очереди? Причём в лабаратории все работает нормально. Может ли это быть из-за того что у меня 7 Delphi а в лаборатории 5? Винды 2000 и у меня и в лаборатории. Заранее спасибо.


 
mrcat ©   (2003-02-02 00:14) [1]

MSG_PEEK

Peek at the incoming data. The data is copied into the buffer but is not removed from the input queue.

Юзайте 0.


 
Serge_T   (2003-02-02 02:03) [2]

Спасибо. А всё-таки интерестно почему в лаборатории с MSG_PEEK работает.


 
mrcat ©   (2003-02-02 15:57) [3]

Serge_T (02.02.03 02:03)
...
почему в лаборатории с MSG_PEEK работает.
...


Версия Dx тут не при чем, это ж api. А вот Вы можете гарантировать, что буффер "в лаборатории" не "очищал" кто-нибудь другой? ;)


 
Digitman ©   (2003-02-03 08:36) [4]

непонятно, зачем тебе MSG_PEEK-опция ?

просто

Result := recv(Sock, Buf, BufSize, 0);




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

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

Наверх




Память: 0.47 MB
Время: 0.016 c
3-76298
OlegM
2003-03-04 06:45
2003.03.24
Нужно установить BDE без Delphi


1-76420
Спрашивающий
2003-03-10 03:15
2003.03.24
Как поменять значок на моем компоненте?


1-76430
[BAD]Angel
2003-03-07 22:50
2003.03.24
Люди, помогите с реестром! (СРОЧНО)


7-76704
Brush
2003-02-01 10:45
2003.03.24
Как найти все файлы на компе с заданным расширением,,,


14-76663
Neox
2003-03-08 22:46
2003.03.24
вопрос к пользователям TheBat!