UDPClientが時々nullになるのはなぜですか
-
06-07-2019 - |
質問
送信中にudpLinkのnull例外でこのコードが時々失敗する理由を誰かに説明できますか?
udpLink = new UdpClient(ipAddress, 514);
using (udpLink)
{
udpLink.Send(rawMsg, rawMsg.Length);
}
これは修正方法の新しいコードです。
udpLink = new UdpClient(ipAddress, 514);
using (udpLink)
{
if (udpLink != null) udpLink.Send(rawMsg, rawMsg.Length);
}
アイデアはありますか?
解決
それが本当に問題なのかはわかりませんが、usingステートメントの使用方法だと思います。私は次のようにします:
using (UdpClient udpLink = new UdpClient(ipAddress, 514))
{
udpLink.Send(rawMsg, rawMsg.Length);
}
他のヒント
このコードセグメントが何千回も実行するループ内にあるかどうかに応じて、接続を最大化する可能性があります(経験から言えば)。 netstat -anを実行できます。2回以上スクロールすると、問題になる可能性があります。
udpLinkでnullポインタ例外を取得する理由がわかりません。 udpLinkはnullであり、rawMsgではないことを確認していますか?また、SocketExceptionやその他の例外ではなく、NullPointerExceptionをスローしていると確信していますか?
所属していません StackOverflow