Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Вопрос по Sockets API [D5, D6, Win95/98]


SineD ©   (2001-10-09 17:48:00) 

Люди подскажите как получить количество принятых байт функцией
recv(socket,buf,buflen,flags);


SineD   (2001-10-10 11:52:00) [1]

Спасибо !
Понял.


Digitman   (2001-10-10 08:33:00) [2]

>SineD
Polevi прав - общий размер поточных данных, доступных для чтения из буфера приема гнезда, можно (и нужно) определять именно таким способом.
Повторюсь : при любых вопросах по гнездовому взаимодействию распределенных процессов наилучший способ получить ответ - изучить, как это делается в scktcomp.pas.


Polevi   (2001-10-09 22:22:00) [3]

Размер непринятого куска будет равен количеству байт в сокете -
ioctlsocket(FSocket, FIONREAD, Longint(Result))

смотри scktcomp.pas


SineD   (2001-10-09 18:06:00) [4]

Ни фига !
Если размер принятого сообщения больше buflen, то результат будет равен buflen, И КАК дальше получить размер непринятого куска ?


Polevi   (2001-10-09 17:58:00) [5]

Return Values

If no error occurs, recv returns the number of bytes received. If the connection has been gracefully closed, the return value is zero. Otherwise, a value of SOCKET_ERROR is returned, and a specific error code can be retrieved by calling WSAGetLastError.


Наверх

Титульная страница Поиск, карта сайта Написать письмо