ВБ 6 приложение, клиент. Есть в нём один винсок контрол. Обмен с сервером (моим, но написанным на сипп) идёт по UDP. То есть в клиенте на ВБ есть один винсок контрол, который используется на приём дейтаграмм, и на передачу, причём на передачу как в зависимости от действий пользователя, так и одновременно по таймеру раз в несколько секунд.
Сервер мой ведёт подробнейший лог и из него видно, что некоторые пакеты ТОЧНО отсылаются клиенту (на нужный ИП и на нужный порт), но на клиенте датаэрайвал не возникает! То есть иногда пакеты теряются! Может нельзя использовать сокет для и приёма, и передачи?
Безопасно ли юзать один WinSock для приёма и передачи?
Модератор: Naeel Maqsudov
- Naeel Maqsudov
- Сообщения: 2570
- Зарегистрирован: 20 фев 2004, 19:17
- Откуда: Moscow, Russia
- Контактная информация:
А не возникает ли на клиенте переполнения буфера?
А сама отправка в сокет (таз она происходит и по таймеру и по событию) потокозащищенная?
Вообще для критичного обмена данными обычно реализуют какой-нибудь стандартный или изобретают свой протокол поверх TCP.
Если отсылка по таймеру используется для проверки соединения, то может проверку соединения осуществлять по одному соединению, а данные пересылать по другому? (Ну или убедиться что отправка выполняемая из разных процедур потокозащищенная)
А сама отправка в сокет (таз она происходит и по таймеру и по событию) потокозащищенная?
Вообще для критичного обмена данными обычно реализуют какой-нибудь стандартный или изобретают свой протокол поверх TCP.
Если отсылка по таймеру используется для проверки соединения, то может проверку соединения осуществлять по одному соединению, а данные пересылать по другому? (Ну или убедиться что отправка выполняемая из разных процедур потокозащищенная)