UDP неверно сформированные пакеты - PullRequest
0 голосов
/ 21 августа 2010

Я использую C # программу для клиентского приложения UDP.Приложение прослушивает соединение, а затем связывается.

Socket udpClient = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp);
udpClient.Bind(new IPEndPoint(IPAddress.Any, ListenPort));
udpClient.Blocking = true;
int count = 0;

while (count == 0) udpClient.ReceiveFrom(receiveBuffer, ref ePoint);
udpClient.SendTo(data, endPoint);
udpClient.ReceiveFrom(receiveBuffer, ref ep);
...

Я использую Wireshark для отладки приложения.Проблема в том, что через некоторое время мое приложение начинает отправлять искаженные пакеты STUN, и я думаю, что из-за этого они отклоняются маршрутизатором в Интернете.

Вопрос: возможно ли предотвратить отправку искаженного UDP / STUNпакеты?

1 Ответ

0 голосов
/ 26 августа 2010

Когда ваше приложение отправляет неверно сформированные UDP-пакеты, оно имеет ошибку.Минимальный фрагмент вашего кода имеет только один вызов SendTo.Вы можете добавить функцию проверки содержания / длины данных.

КСТАТИ: UDP не подключен.Я бы сказал, что ваше приложение ожидает запроса или какой-то команды запуска, а не соединения.

...