假设我有一个侦听TCP端口的服务器(通过TcpListener),并且我有五个不同的连接到该服务器(通过TcpClient)。如何在不向错误的客户提供错误信息的情况下,通过流向每个人发送信息。
例如:
五个客户端都连接到服务器。
我必须向客户端1发送消息“这是一条消息”,但我不想将该消息发送到客户端2,3,4和5.我还想向客户端3发送消息“这是另一条消息”和5但不发送该消息给客户端1,2和4。
我到底该怎么做呢?
答案 0 :(得分:2)
TcpListener
类的方法为AcceptSocket
和AcceptTcpClient
。对于连接到服务器的每个客户端,它们返回不同的Socket
(或TcpClient
- 您使用这些对象将数据发送到各个客户端。
答案 1 :(得分:2)
接受Socket或调用AcceptTcpClient后,您可以使用端点区分它们。如果您想知道将哪些端点发送到哪个端点,则应使用其连接所在的IP和/或端口来区分它们。您可以参考此帖子了解如何执行此操作getting-the-ip-address-of-a-remote-socket-endpoint
编辑:您可以查看如何发送/接收数据,例如here