C# 寻找 2 路通信。 (世界CF)

标签 c# wcf client-server protocols

我的程序:

  1. 不同客户端连接到服务器(用户登录)

  2. 然后服务器开始每秒(或更短时间)向所有服务器推送小数据(低于 1KB)。

我的问题:

  1. 我应该使用什么服务? WCF 是正确的选择吗?
  2. 如果是 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/

相关文章:

c# - 使用来自 WCF 客户端的非 wcf SOAP 错误(已定义 soap 错误)

java - 三层架构中的表示层

C# XML 序列化/反序列化

c# - 使用 TFS 2012 构建服务器构建 VS2017 项目

c# - "is"运算符编译时警告

c# - WCF 获取入口程序集

c# - IIS/Azure 云中是否允许 System.IO.File 访问?

c# - 我应该在 C# 中为我的项目使用 WPF 还是 Windows 窗体应用程序?

iphone - 如何快速将所有地址簿内容发送到服务器

c# - 如何更改查询字符串参数的值?