|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
17.03.2012, 21:01 | #1 | |
Форумчанин
Регистрация: 29.04.2008
Сообщений: 100
|
WinSock Recv
Попробовал тут как-то перегнать на асм код Криса для создания TCP сервера на WinSock. До вменяемой рабочей версии допилил, но в процессе возник вопрос, порожденный цитатой на одном форуме:
Цитата:
Код:
А вопрос, собственно, в следующем: неужели на блокирующих сокетах recv получает всё сообщение разом? |
|
17.03.2012, 23:05 | #2 |
Форумчанин
Регистрация: 11.01.2012
Сообщений: 177
|
подсистема сокетов ждёт когда пакет придёт полностью и только потом передаёт пакет функции recv
progromore.i2p - первый русскоязычный портал программистов в скрытосети
Последний раз редактировалось Rock-n-Rolla; 17.03.2012 в 23:07. |
17.03.2012, 23:26 | #3 |
Форумчанин
Регистрация: 29.04.2008
Сообщений: 100
|
Про пакет я знаю, я про всё сообщение целиком, ведь через TCP данные передаются потоком, то есть могут быть разбиты(склеены) в любом порядке, что означает что сообщение, посланное за один вызов Send, вполне может быть принято за несколько вызовов Recv и наоборот. Но для блокирующих сокетов мне такое поймать не удалось.
|
18.03.2012, 02:47 | #4 |
Пользователь
Регистрация: 15.07.2008
Сообщений: 28
|
hiho, во-вторых - RtlZeroMemory лишнее, т.к. recv отдаёт кол-во полученых байт, во-первых, если нехватает мазохизма, установите размер BufStr в пару байт, и посмотрите на результат.
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
recv socket | cppn00b | Visual C++ | 5 | 03.04.2011 15:19 |
recv Function | Dimarik | Win Api | 2 | 04.04.2010 11:53 |
Функция recv (Winsock) | YYYYY | Работа с сетью в Delphi | 0 | 18.02.2010 02:16 |
recv() | Артэс | C/C++ Сетевое программирование | 7 | 15.01.2010 14:51 |
WinSock (send, recv) | AidarBik | Работа с сетью в Delphi | 1 | 27.07.2008 15:22 |