質問

送信中に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をスローしていると確信していますか?

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top