Страница 1 из 1

Безопасно ли юзать один WinSock для приёма и передачи?

Добавлено: 25 окт 2005, 21:00
Zerg1
ВБ 6 приложение, клиент. Есть в нём один винсок контрол. Обмен с сервером (моим, но написанным на сипп) идёт по UDP. То есть в клиенте на ВБ есть один винсок контрол, который используется на приём дейтаграмм, и на передачу, причём на передачу как в зависимости от действий пользователя, так и одновременно по таймеру раз в несколько секунд.
Сервер мой ведёт подробнейший лог и из него видно, что некоторые пакеты ТОЧНО отсылаются клиенту (на нужный ИП и на нужный порт), но на клиенте датаэрайвал не возникает! То есть иногда пакеты теряются! Может нельзя использовать сокет для и приёма, и передачи?

Добавлено: 24 ноя 2005, 03:44
Naeel Maqsudov
А не возникает ли на клиенте переполнения буфера?
А сама отправка в сокет (таз она происходит и по таймеру и по событию) потокозащищенная?
Вообще для критичного обмена данными обычно реализуют какой-нибудь стандартный или изобретают свой протокол поверх TCP.
Если отсылка по таймеру используется для проверки соединения, то может проверку соединения осуществлять по одному соединению, а данные пересылать по другому? (Ну или убедиться что отправка выполняемая из разных процедур потокозащищенная)