c# - WCF 服务可以替代 TCPListener 的功能吗?

标签 c# wcf tcplistener

我有一个基于 TCPListener 的服务器应用程序,它在单个特定端口上监听客户端。客户端连接,发送一些 xml,返回一些 xml 作为响应,然后断开连接。

是否可以在不对客户端进行任何更改的情况下用 WCF 服务替换基于 TCPListener 的应用程序?如果可以,有人可以建议可以帮助我构建此类服务的资源吗?

最佳答案

理论上是的。 WCF 有许多扩展点,因此您可以包含自己的 message encoder , 你自己的 transport channel等等。您可以包括影响消息格式等的自定义行为。即使您拥有专有消息格式或传输协议(protocol),您也应该能够做到这一点。但这是很多工作。

如果您真的想尝试它,您可以从自定义消息编码器开始,它将获取消息并将其作为您的自定义 XML 格式写入二进制编码器。在自定义绑定(bind)中将这个新编码器与 tcpTransport 中的构建相结合。调试起来会很困难。 sample 提供example添加 JSONP 支持。我认为这是类似的方法。它使用内置传输和编码器,并添加自定义消息格式。

关于c# - WCF 服务可以替代 TCPListener 的功能吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3660338/

相关文章:

c# - 安装 Nuget 包错误 "The path is not of a legal form"

c# - 如何强制 FileStream 文件的独占所有权

wcf - jQuery 发布到 WCF 服务返回 405 错误

wcf - 套接字连接被中止 - WCF

wcf - 如何将 SAML 身份验证集成到 WCF Web 服务应用程序中

c# - 如何修复 TcpClient Ip Header Bad Checksum

C# 游戏服务器架构

c# - 在 WPF 中访问 XAML 控件

c# - 有关 Windows TCP 端口通信的帮助

c# - Parallel.ForEach 和 DataTable - DataTable.NewRow() 不是线程安全的 "read"操作吗?