【发布时间】:2015-06-11 01:03:18
【问题描述】:
我的应用程序有许多 tcpclients 用于在收到指示时更新数百个服务器。我在设计中遇到了一个小但重要的问题。
我的程序从队列中取出一条传出消息,并从一组客户端中选择一个可用的客户端,我将其命名为 client1。它使用 BeginConnect 在 tcpclient 上启动连接并发出回调方法。然后程序继续处理队列中的其他消息以及将要发送它们的 tcpclients。
当客户端 1 发生回调时,我的程序会获得一个 AsyncResult,我可以从中解析套接字。
这是我的问题。我怎么知道我有哪个套接字或 TCPClient?这很重要,因为我需要知道在这个连接的客户端上发送哪条消息。
我查看了套接字,但没有找到 name 属性。
如何识别套接字,以便知道要进行的正确消息对话?
谢谢!
【问题讨论】:
-
您是否检查过该对象是否公开了诸如 Ipaddress 或名称 ..etc...之类的内容?如果不尝试谷歌搜索stackoverflow.com/questions/2717381/…,这可能会给你一些想法
-
您的每个客户端是否都连接到唯一的服务器(IP 地址/端口),或者您的每个客户端是否使用唯一的本地端点(IP 地址/端口)?
-
MethodMan,很好的发现。我花了大约一个小时在多个客户端下查看,只得到了服务器示例,哈哈哈。
-
Sharfer,每个客户端都有一个唯一的 IP,但它们都使用相同的端口。