我的程序:
不同客户端连接到服务器(用户登录)
然后服务器开始每秒(或更短时间)向所有服务器推送小数据(低于 1KB)。
我的问题:
- 我应该使用什么服务? WCF 是正确的选择吗?
- 如果是 WCF,那么使用哪种协议(protocol)? http、tcp ...?
起初我认为 WCF 是正确的选择。我实现了一个基本的简单。然后突然我注意到这只是客户端到服务器的连接。并且服务器无法以相同的方式与客户端进行通信。除非我也在客户端上启动服务,使其成为服务器。
所以最后,考虑到我提到的速度因素和要使用的正确协议(protocol),我应该如何实现服务器和客户端之间的这种双向通信。
更新
好的,让我添加一些细节。这实际上是一个教师客户端<>服务器<>学生客户端通信程序。教师在 WPF 的 inkCanvas 上绘制一些内容。这张图应该推送给所有学生客户。这就是为什么这些数据应该由服务器推送。并且通信必须是两种方式。
最佳答案
一种可能性是考虑使用 network library 。看看this有关使用 NetworkComms.Net 创建 WPF 聊天应用程序的文章。与 WCF 不同,客户端 -> 服务器、服务器 -> 客户端关系是对称的,因此推送通知是完全直接的。您还可以选择通信协议(protocol),例如TCP 或 UDP,并且可以轻松添加您自己的扩展来处理传出/传入数据。
免责声明 - 我是该库的开发人员。
关于C# 寻找 2 路通信。 (世界CF),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16264349/