gpt4 book ai didi

.net - 如何将基于套接字的客户端与 WCF (net.tcp) 服务一起使用?

转载 作者:可可西里 更新时间:2023-11-01 02:28:48 25 4
gpt4 key购买 nike

我开发了一个使用 net.tcp 适配器并监听特定端口的 WCF 服务。我想使用普通的 .net 客户端连接到该服务,该客户端使用套接字将数据发送到端口并监听响应。
当我尝试向该服务发送数据时,出现错误:“现有连接被远程主机强行关闭”。
但是,我能够通过使用 WCF 服务的地址/绑定(bind)/契约(Contract)的另一个客户端连接该服务。
有没有一种方法可以让我使用基于套接字的普通客户端与 WCF 服务进行通信?

最佳答案

关键决定是让WCF服务符合socket客户端还是让socket客户端符合WCF服务。

尝试符合 WCF 服务将是最简单的,而不是尝试在 WCF 中实现自定义的东西,这绝非易事。在下面“其他资源”部分的底部,您将看到一个链接,该链接描述了为尝试符合 WCF 服务所必需的消息检查。

话虽如此,.NET 套接字本身并不与 WCF 通信。

任何这样做的尝试都需要在 WCF 方面进行自定义编程。

无论您是使用 TcpClient 还是 .NET 中的原始套接字来连接到 WCF 并与之通信都没有关系。任何此类互操作性都必须使用 WCF 中的自定义逻辑来处理。请注意,Net.Tcp 是自定义传输协议(protocol)。它在技术上不像 TcpClient 那样使用 TCP。

例如,UDP 在 Linux 世界中被套接字服务器广泛使用。 WCF 不提供内置的 UDP 传输。但是,有一个 WCF 的 UDP 示例,它为 WCF 实现了 UDP。遗憾的是,该示例并未说明与非 WCF UPD 套接字服务器之间的通信。

我有一个非常详细的悬而未决的问题,我在其中解释了我为使示例代码普遍可测试以使用 UDP 而做出的努力...

Is it possible to make the WcfTestClient work for custom transport channels?

还没有人回答我的问题。所以,如果你成功地完成了这项工作,我非常感兴趣。我的案例是由于希望 WCF 服务能够调用在 Linux 上运行的 UDP 套接字服务器而不必使用非 WCF 编码使我的服务困惑。我不想混合方法。

其他资源...

关于.net - 如何将基于套接字的客户端与 WCF (net.tcp) 服务一起使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/546004/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com