【发布时间】:2020-07-11 16:58:48
【问题描述】:
我创建了一个系统来将一系列 TcpClient 连接到一个 TcpListener 并在类似聊天的系统中交换数据。建立连接后,服务器将客户端添加到列表中,并开始读取等待消息的流。
服务器收到消息后,是否有内置方法可以知道是哪个客户端发送的?
替代方案:我想到了将客户端的RemoteEndPoint(Ip+端口)附加到消息中作为标识符使用,在客户端和服务器上的TcpClient两个版本之间应该是相同的,并且唯一比较给其他客户。我说的对吗?
【问题讨论】:
-
状态,我想。
-
如果客户端丢失并重新建立连接,它可能有另一个端口但仍然是同一个客户端...(逻辑客户端,不是同一个TcpClient实例)
-
我不介意,如果客户端丢失并重新建立连接,他们将获得一个新的身份,这没问题。 @John mmm,我不知道那是什么,你能解释一下吗^^?
标签: c# tcpclient endpoint tcplistener