构建全双工客户端/服务器软件时应该从哪里开始?

时间:2011-11-15 22:46:48

标签: c# networking tcp

我期待推出一款简单的服务器/客户端软件,只是为了更好地理解这个领域。

因此,正如标题所说,在构建全双工客户端和服务器软件时应该从何处和何处开始?

我希望用C#构建它,可能,但是,任何语言都会削减它,因为我对算法和简单实现更感兴趣。

最后但并非最不重要的是,主要针对使用TCP,但我可能希望稍后针对特定数据类型进行扩展。

提前致谢!

4 个答案:

答案 0 :(得分:3)

我绝对同意以前的答案使用WCF。这肯定会处理这种交互的服务器端。 Code Project还有很多客户端/服务器交互的好例子。查看类似A TCP/IP Server written in C#的内容。

要回答关于跨平台的问题,我使用WCF连接到Java,.NET和Objective-C客户端并与之交互,所以我认为你在那里很安全。

答案 1 :(得分:3)

我自己就是在构建这样的东西,我认为socket.io是全双工服务器 - 客户端事件驱动通信的绝佳框架。但它是node.js,而不是C#。另一方面,您可以使用与客户端相同的语言在浏览器和服务器中编写客户端;此外,node.js专注于“正确联网”,因此您也可以学习非阻塞IO等内容。

答案 2 :(得分:2)

如果您使用的是C#/ .NET,我建议您使用WCF

您可以在Web服务器上托管此文件,也可以自行托管并在独立应用程序内托管该文件。我的大部分都是通过标准应用程序运行的。

有关全双工服务的信息,请转到here

我知道这两个页面都有很多信息,但这是一个相当广泛的问题! :)

答案 3 :(得分:2)

WCF开始。

  • 创建新的Windows服务。那是你的服务器。
  • 创建一个winforms / wpf应用/控制台应用。那是你的客户。
  • 在服务中创建可以完成某项工作的方法。
  • 从客户端调用这些方法并将一些结果打印给用户。