我想使用lidgren在XNA 4.0中创建一个服务器/客户端游戏,客户端可以列出可用的服务器/主机并选择要加入的服务器。
我如何使用 DiscoverLocalPeers 或 Client.DiscoverLocalPeers(40012);函数返回发现的服务器列表。我假设该函数使用相同的端口查找可用服务器,但我想列出使用该端口的可用服务器,以防有多个服务器。有可能还是我对功能的理解错误。
您的帮助将不胜感激
我想使用lidgren在XNA 4.0中创建一个服务器/客户端游戏,客户端可以列出可用的服务器/主机并选择要加入的服务器。
我如何使用 DiscoverLocalPeers 或 Client.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:
}