我如何知道客户端何时与此代码连接

本文关键字:代码 连接 何时 何知道 客户端 | 更新日期: 2023-09-27 18:11:41

while (!Server.isShuttingDown)
{
   Server.client = Server.listener.AcceptTcpClient();
   Connection con = new Connection(Server.client);
}

如何使服务器知道客户端何时连接?我为客户端连接时发生的事情做了一个类,但这是无用的,直到我使它知道客户端何时连接。

我如何知道客户端何时与此代码连接

好吧,AcceptTpcClient方法将阻塞,直到客户端连接-所以插入一行之间的Connection构造函数调用…甚至在它之后,假设Connection构造函数启动了一个新线程。

请注意,看起来您在每次迭代中覆盖了单个变量的值—Server.client,这听起来不像是一个好主意。我猜你最好这样写:

while (!Server.IsShuttingDown) {
    var client = Server.Listener.AcceptTcpClient();
    // Act on "client has connected" here
    Connection con = new Connection(client);
}

(不清楚为什么Server对象本身没有做所有这些…或者至少暴露AcceptTcpClient方法本身。目前看来,这有点违反了得墨忒耳定律。