![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Вопрос по 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.