将数据从服务器发送到特定客户端

时间:2013-12-29 14:03:52

标签: c# client-server client tcp-ip

我的多客户端/服务器应用程序中存在一些问题。我需要从服务器向单个客户端发送特定数据,但我不知道该怎么做。我通过添加带有客户端规范的标头暂时解决了这个问题。但它并不是最好的解决方案,因为服务器每次都会将数据发送到所有连接的客户端。我该如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

我有类似的问题。我在包含guid的Web服务中添加了一个字段。 显然,所有客户都定期对服务进行限制,以确定他们需要新数据。 如果客户端需要发送额外数据,当它向服务器发出常规请求时,服务器会读取它的客户端ID并创建适当的guid,并在其常规数据馈送中返回。 当客户端将guid字段读为非null时,它使用guid作为参数调用第二个Web方法。第二个Web方法读取guid并使用它查找然后返回额外的所需数据。 另一种方法是通过保持连接打开并使客户端处于“加载”的永久状态来使用推送技术。 当存在额外的客户端特定数据时,服务器可以将一些代码(例如javascript)注入到永久打开的请求中,然后该请求将从服务器请求新数据。 根据我实施推送技术的经验,我会建议你尝试上面的方法。 唯一的另一种选择是在客户端安装某种服务器应用程序以接收推送数据。