Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Delphi: Сети > Ошибка WSARECV |
Автор: Lexicss 14.9.2010, 14:51 |
Доброго времени суток. С клиента подключаюсь к серверу. Соединение проходит, начинаю обмен и спустя 5-10 секунд на клиенте функция WSARecv выдаёт ошибку WSAENOBUFS(10055). Вся работа с сокетами асинхронная. описание ошибки: No buffer space available (Закончились буферы). Невозможно осуществить операцию с сокетом, поскольку системе не хватает буферного пространства или переполнена очередь. Это означает, что WinSock временно не хватает буфров. Это не должно вызывать проблем, если не продолжается долгое время. Пробывал по возникновению этой ошибки повторно вызывать WSARecv - ошибка повторяется. Увеличивал буффер приёма сокета с 8-ми до 64 кБ - тоже не помогает. На клиенте стоит Win 2000 Server. Почему такое возникает и как решить эту проблему? |
Автор: Alca 14.9.2010, 15:30 |
Раздевайтесь, больной! Код показать не судьба? |
Автор: Lexicss 14.9.2010, 15:36 | ||||
Result = -1, LanLastError = 10055; Добавлено @ 15:43 переменная RecvBuf предварительно установлена:
Добавлено @ 15:47 Два года прога работает адекватно, именно на одном компьютере повела неожиданно, функция WSARecv выдаёт WSAENOBUFS. Т.е. пытаюсь выяснить что ещё предусмотреть чтобы обойти ситуацию с этой ошибкой и соединение не обрывалось. ![]() |