Я использую сокет для отправки пакетов UDP в своем приложении на фиксированный IP-адрес и порт. Сокет создается с помощью Socket socket = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp)
, и я держу этот экземпляр на протяжении всего времени жизни приложения. Каждый пакет UDP передается с использованием Socket.Send(byte[] buffer)
.
Приложение работает уже несколько недель и неожиданно отправляет SocketException
с сообщением о том, что введен неверный аргумент. Перезапуск приложения эффективно решает проблему, но мне интересно узнать, знает ли кто-нибудь, что вызывает это, и есть ли какая-либо стратегия восстановления, которой я могу следовать.
SocketException
. Найдите их в соответствующих заголовочных файлах Windows SDK. Они более информативны, чем сообщение. - person Anton Tykhyy   schedule 22.04.2013