在TCP级

时间:2018-05-08 13:02:07

标签: c# wcf tcp network-programming

我目前有一个GUI程序,它使用WCF和net.tcp绑定连接到服务器端应用程序。用于连接的接口定义了CallbackContract

我们计划将服务器端进程转移到无法从客户端访问的新数据中心,因此WCF调用将不再有效。但是,我们现有的服务器能够连接到数据中心,因此我们目前在这些服务器上运行GUI,在服务器上运行远程桌面。

但是,这种做法不可扩展,所以我写了一个“中间代理人”,它在服务器上运行并侦听TCP连接。我们的客户端应用程序连接到此,它连接到数据中心的WCF服务器。发送到代理的所有内容都将转发到WCF服务器应用程序,从WCF服务器应用程序读取的所有内容都将发送到GUI应用程序。对于我们所有的非WCF应用程序,这没有问题,但它拒绝为任何WCF应用程序工作。我得到了连接,并且有一个简短的数据交换,但随后一切都停止了。

似乎net.tcp层检测到中间有一个人并决定停止发送/接收数据。我没有使用和安全(绑定使用SecurityMode.None)。我也尝试在portproxy命令行应用程序中使用netsh功能,但遇到同样的问题 - 每个非WCF应用程序都可以工作,但WCF应用程序却没有!

我很欣赏这是一个相当小众的事情,但我想知道是否有人对我为何无法拦截WCF流量有任何见解?

0 个答案:

没有答案