
Обстановка:
Я пишу 2 программы клиент и сервер. Они создают сокеты, клиент естественно конектится и, затем, отправляет с помощью send(..) несколько байт. Сервер, приняв с помощью recv(..) начинает отправлять клиенту данные с помощью вызова send(..). В каждом вызове send отправляется примерно 50 байт. Количество вызовов сервером функции send примерно 200. Клиент в свою очередь принимает.
Проблема:
Сервер то отправляет (вызов send удачен), а клиент не принимает или принимает мало (1 или 2 раза). Но если сделать Sleep() на сервере хотя бы 30 миллисекунд перед вызовом send() то клиент примет все 200 раз.
Такое ощущение что для правильной работы нужно что бы клиент работал быстрее чем сервер...
В чем заключается проблема? В SDK написано:"The successful completion of a send does not indicate that the data was successfully delivered"
Как сделать что бы "data was successfully delivered".