我正在使用Lidgren库,以便通过网络通信字符串抛出计算机。当客户端与服务器断开连接时,我可以得到通知,但当客户端连接时,我不能得到通知。我尝试在不同的线程中运行这段代码:
static void connectionCheck()
{
if (server.ConnectionsCount != con)
{
for (int i = con; i < s_server.Connections.Count; i++)
{
Console.WriteLine(server.Connections[i].Peer.Configuration.LocalAddress.ToString() + " connected");
}
con = server.ConnectionsCount;
}
Thread.Sleep(1);
connectionCheck();
}
其中con
为旧连接数。在新连接的客户端发送消息后,我得到的唯一输出是0.0.0.0 connected
。为什么不工作,我如何得到通知,当一个新的连接建立?
在s_server上调用ReadMessage()当您收到StatusChanged类型的消息时,检查第一个字节,它包含一个NetConnectionStatus enum -如果它是"Connected",则远程对等体刚刚建立了与此对等体的连接。