lidgren/XNA如何使用DiscoverLocalPeers返回IP



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

如何使用DiscoverLocalPeers或客户端。DiscoverLocalPeers(40012(;函数返回发现的服务器列表。我假设该函数使用相同的端口查找可用的服务器,但如果有多个服务器,我想列出使用该端口的可用服务器。这可能吗?或者我对函数的理解是错误的。

非常感谢您的帮助。

我不是这个库的专家,但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:
}

相关内容

  • 没有找到相关文章