0

我想使用lidgren在XNA 4.0中创建一个服务器/客户端游戏,客户端可以列出可用的服务器/主机并选择要加入的服务器。

我如何使用 DiscoverLocalPeers 或 Client.DiscoverLocalPeers(40012);函数返回发现的服务器列表。我假设该函数使用相同的端口查找可用服务器,但我想列出使用该端口的可用服务器,以防有多个服务器。有可能还是我对功能的理解错误。

您的帮助将不胜感激

4

1 回答 1

1

我不是这个库的专家,但DiscoverLocalPeers返回类型为 ,void所以我猜这个函数只向服务器发送一条消息类型为DiscoveryRequest。所以在你的服务器端你应该有这样的东西来处理传入的数据:

 switch (incommingMessage.MessageType)
{
                    case NetIncomingMessageType.DebugMessage:
                    case NetIncomingMessageType.ErrorMessage:
                    case NetIncomingMessageType.WarningMessage:
                    case NetIncomingMessageType.VerboseDebugMessage:
                    case NetIncomingMessageType.StatusChanged:
                    case NetIncomingMessageType.DiscoveryRequest :
                            // here, you should send a response back with type DiscoveryResponse

                    default:
}
于 2014-05-01T22:51:10.483 回答