Por que o meu nula UDPClient vez em quando
-
06-07-2019 - |
Pergunta
Alguém pode me explicar por que este código falhar de vez em quando com uma exceção nula para udpLink durante o envio?
udpLink = new UdpClient(ipAddress, 514);
using (udpLink)
{
udpLink.Send(rawMsg, rawMsg.Length);
}
Este é o novo código de como eu fixa-lo.
udpLink = new UdpClient(ipAddress, 514);
using (udpLink)
{
if (udpLink != null) udpLink.Send(rawMsg, rawMsg.Length);
}
Todas as idéias?
Solução
Eu não tenho certeza se ele realmente é o problema, mas eu acho que é a maneira como você usa a instrução usando. Eu faria isso como este:
using (UdpClient udpLink = new UdpClient(ipAddress, 514))
{
udpLink.Send(rawMsg, rawMsg.Length);
}
Outras dicas
Dependendo se ou não este segmento de código está em um loop que executa milhares de vezes que você pode ser estourar o limite em conexões (falando por experiência). você pode fazer um netstat e se desloca por mais de um segundo chances são de que poderia ser o problema.
Eu não vejo nenhuma razão pela qual você deve estar recebendo uma exceção de ponteiro nulo no udpLink. Você tem certeza de sua udpLink que é nulo e não rawMsg? Além disso, você tem certeza que está jogando um NullPointerException e não um SocketException ou outra exceção?