3

C#これは、私がやろうとしていることです:

IPEndPoint remoteEndpoint = new IPEndPoint(IPAddress.Parse("192.168.211.133"), 0);
var udpClient = new UdpClient("192.168.211.133", 20);
Byte[] messagebyte = Encoding.Default.GetBytes("hi".ToCharArray());
int s = udpClient.Send(messagebyte, messagebyte.Length);
Byte[] ReceiveBuffer = new Byte[256];
ReceiveBuffer = udpClient.Receive(ref remoteEndpoint); 

しかし、プログラムは立ち往生しています

ReceiveBuffer = udpClient.Receive(ref remoteEndpoint);

私は何を間違っていますか?

私を助けてください!

4

3 に答える 3

0

例外をキャッチし、SocketErrorCode == SocketError.ConnectionReset の場合は、「Port unreachable」を受け取ったことを意味します。

または、次のようにソケット使用プロトコル Icmp を設定できます。

Socket icmp = new Socket(AddressFamily.InterNetwork, SocketType.Raw, ProtocolType.Icmp);

于 2013-10-18T09:50:25.510 に答える
0

UDP の要点は、応答がない可能性があることです。一定の時間が経過すると、宛先が読み取れないと想定する必要があります。

この他の質問を見てください。

于 2013-04-22T22:03:06.390 に答える
0

アドレスは私が試した問題のようです.127.0.0.1に変更すると、icmpメッセージが表示されます

于 2020-11-17T13:36:31.507 に答える