| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Сети > recv тормозит |
| Автор: rubenhak 28.1.2007, 21:19 |
| У меня сервер на C#-е, клиенты на C# и C++. C# клиент работает четко. Проблемма в следующем. Когда количество передовамых данных становится большим C++ клиент с ума сходит - зависает recv, или select вылетает таимаутом, или ioctlsocket(lhSocket, FIONREAD, &num_to_read) , выходит с num_to_read == 0. Когда данные уменьшаются, через некоторе время клиент нормализуется и нормально работает. может проблемма в буфере передачи данных? но я пробовал менять, не помогает. в C#-е размер буфера 8192. кстати, сокеты у меня блокирующие. |
| Автор: ptr 29.1.2007, 13:39 |
| 1. Неплохо было бы видеть код. 2. Трассировку использовать пробовал? |
| Автор: Goganchic 29.1.2007, 17:48 |
| А может проблема в сервере: что он не может обработать такую интенсивность клиента, поэтому последний не получает какой-то инфы на свои запросы и ведет себя неадекватно? |
| Автор: rubenhak 31.1.2007, 01:58 |
| ptr, Goganchic, спасибо, все было изза сервера, уже все исправил. просто C# клиент был на сервере, а C++ на удаленном, поэтому на C#-е было все ок. |
| Автор: ptr 31.1.2007, 12:33 |
| rubenhak, а тему решённой пометить? |