gpt4 book ai didi

c# - 从使用 UdpClient 接收的 UDP 包中获取客户端 IP

转载 作者:太空狗 更新时间:2023-10-29 22:07:34 26 4
gpt4 key购买 nike

我正在 System.Net.Sockets.UdpClient 的帮助下开发 Action 多人游戏类。

这是为两个玩家准备的,所以一个人应该打开一个服务器并等待传入​​的连接。另一个玩家输入主机 IP 并尝试发送“ping”,以确保可以建立连接并且有一个开放的服务器。然后主持人以“砰”的一声回应。

一旦游戏运行,双方都必须向对方发送 udp 消息,因此他们都需要对方的 ip 地址。

当然服务器端也可以输入客户端IP,不过我觉得没必要。

当收到“ping”消息时,如何从 udp 包中获取客户端 IP?

这是我的接收代码(服务器等待 ping):

    private void ListenForPing()
{
while (!closeEverything)
{
var deserializer = new ASCIIEncoding();
IPEndPoint anyIP = new IPEndPoint(IPAddress.Any, 0);
byte[] recData = udp.Receive(ref anyIP);
string ping = deserializer.GetString(recData);
if (ping == "ping")
{
Console.WriteLine("Ping received.");
InvokePingReceiveEvent();
}
}
}

最佳答案

在您的示例中,当客户端连接时,anyIP IPEndPoint 对象将包含客户端连接的地址和端口。

关于c# - 从使用 UdpClient 接收的 UDP 包中获取客户端 IP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5964846/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com