У меня есть сервер, работающий на настольном ПК с Windows 7, и клиент, работающий на ноутбуке Lenovo с Windows XP.
В цикле постоянно происходит следующее:
- Клиент передает пакеты UDP, содержащие некоторую информацию идентификатора.
- Сервер получает широковещательную рассылку и отвечает другим UDP-пакетом с некоторыми данными внутри.
В Wireshark я вижу, что сервер отправляет правильные данные, но функция RECVFROM
возвращает некоторые другие данные. Примерно через 20-30 секунд данные окончательно прочитаны правильно.
Если я запускаю и сервер, и клиент на рабочем столе, он работает нормально. Есть идеи?
Соответствующий фрагмент кода:
do
{
result=recvfrom(_socket,buff,buffLen,0,(SOCKADDR*)&SenderAddr,&SenderAddrSize);
if(result != SOCKET_ERROR)
{
//small processing
.....
////
sendto(_socket,buff,16,0,(SOCKADDR*)&SenderAddr,sizeof(SenderAddr));
}
while(true)