C# Tcp服务器只允许1个客户端
Server.cs- Client.cs- 我试过在另一台电脑上运行客户端和在一台电脑上运行客户端,但都会导致客户端无法接收或发送任何消息 我不能向前看。我使用Hamachi作为IP地址。客户端和服务器都连接到我的网络,并使用Hamachi IP地址。我正在使用PDA网络从我的电脑连接到互联网 服务器根本看不到它们连接。服务器也不会从他们那里收到任何消息。目前只有服务器可以发送消息,并且只有它可以获取消息C# Tcp服务器只允许1个客户端,c#,unity3d,C#,Unity3d,Server.cs- Client.cs- 我试过在另一台电脑上运行客户端和在一台电脑上运行客户端,但都会导致客户端无法接收或发送任何消息 我不能向前看。我使用Hamachi作为IP地址。客户端和服务器都连接到我的网络,并使用Hamachi IP地址。我正在使用PDA网络从我的电脑连接到互联网 服务器根本看不到它们连接。服务器也不会从他们那里收到任何消息。目前只有服务器可以发送消息,并且只有它可以获取消息 我没有收到任何错误,所以我不确定我应该如何解决这个问题,因为这是我第一次使用网络。首先,您
我没有收到任何错误,所以我不确定我应该如何解决这个问题,因为这是我第一次使用网络。首先,您创建一个
TcpListener
,然后调用startis()
,这就是beginacepttcpclient
。但是,在AcceptTCPClient
中,您创建了一个新的TcpListener
,并且没有调用BeginAcceptTcpClient
您不必为每个连接创建新的侦听器,但必须再次调用BeginAcceptTcpclient
:
private void AcceptTCPClient(IAsyncResult ar)
{
TcpListener Lis = (TcpListener)ar.AsyncState;
Clients.Add(new ServerClient(Lis.EndAcceptTcpClient(ar)));
StartLis(); // this will call BeginAcceptTcpClient again
}
hastebin的两个链接都是
class Client
的源代码,但这没关系,因为您确实应该在这里发布代码。为了得到好的答案,最好问一个好问题,堆栈溢出可以帮助您开始。我不能把代码放在这里,因为它总共超过200行。那将是一条通往成功的道路。我也不知道问题从哪里开始,从哪里结束。我阅读了有关提问的信息,我觉得这是提供代码的最佳方式。非常感谢,我的工作非常出色,为我提供了足够的信息,希望能阻止我再次这样做:D