Visual Studio 基於 UDP 協議編寫文字聊天程序,端口號如何分配?可否自動分配?
// 接收端
var listener = new UdpClient(9999); // 固定端口
while (true) {
var ep = new IPEndPoint(IPAddress.Any, 0);
byte[] data = listener.Receive(ref ep);
Console.WriteLine($"{ep}: {Encoding.UTF8.GetString(data)}");
// 回復直接用 ep
listener.Send(reply, reply.Length, ep);
}
// 發送端
var sender = new UdpClient(0); // 隨機端口
sender.Connect("127.0.0.1", 9999);
sender.Send(msg, msg.Length);
// 接收回復
var ep = new IPEndPoint(IPAddress.Any, 0);
byte[] reply = sender.Receive(ref ep);