Тема: С++ Sockets
Показать сообщение отдельно
Старый 16.11.2015, 13:47   #7
impersonalis
Зануда с интернетом
 
Аватар для impersonalis
 
Регистрация: 04.09.2005
Сообщений: 14,014
Написано 6,798 полезных сообщений
(для 20,935 пользователей)
Ответ: С++ Sockets

Код не читал @ сразу отвечал.
Кол-во принятых и прочитанных байт при асинхронном сокете tcp (и, надо полагать, udp - не работал с ним) никто не гарантирует. Надо постоянно проверять.
Ещё раз повторю: и для отправленного тоже. То есть вы должны убедиться, что отправлен весь указанный буфер, а не его часть. Соответственно, часть буфера возможно придётся "отправлять" (передавать в функцию отправки) ещё раз. Последнее - довольно частый баг, т.к. может не проявлять себя сколь угодно долго (пока сеть не будет забита => часть инфы не будет фактически отправлена с первого раза => потеряется часть информации и принимающая система упадёт): http://habrahabr.ru/post/213063/
__________________
http://nabatchikov.com
Мир нужно делать лучше и чище. Иначе, зачем мы живем? tormoz
А я растила сына на преданьях
о принцах, троллях, потайных свиданьях,
погонях, похищениях невест.
Да кто же знал, что сказка душу съест?
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
St_AnGer (16.11.2015)