Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/unity3d/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Tcp服务器只允许1个客户端_C#_Unity3d - Fatal编程技术网

C# Tcp服务器只允许1个客户端

C# Tcp服务器只允许1个客户端,c#,unity3d,C#,Unity3d,Server.cs- Client.cs- 我试过在另一台电脑上运行客户端和在一台电脑上运行客户端,但都会导致客户端无法接收或发送任何消息 我不能向前看。我使用Hamachi作为IP地址。客户端和服务器都连接到我的网络,并使用Hamachi IP地址。我正在使用PDA网络从我的电脑连接到互联网 服务器根本看不到它们连接。服务器也不会从他们那里收到任何消息。目前只有服务器可以发送消息,并且只有它可以获取消息 我没有收到任何错误,所以我不确定我应该如何解决这个问题,因为这是我第一次使用网络。首先,您

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