我如何知道客户端何时与此代码连接
本文关键字:代码 连接 何时 何知道 客户端 | 更新日期: 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
方法本身。目前看来,这有点违反了得墨忒耳定律。