使用C ++,Windows 2012 R2编写的客户端服务器应用程序
我有一组用C ++编写的应用程序,它们使用Winsock通过TCP端口9190发送心跳。到目前为止,我们不支持Windows防火墙,但是现在尝试使应用程序在防火墙打开的情况下工作。当远程主机上的防火墙打开时,我面临连接意外重置的问题。当我在Wireshark中观察到时,我注意到远程主机正在发送RST来终止连接,如下图所示:
连接的两端都有防火墙规则,以允许所有端口上的TCP连接。我什至尝试在两个防火墙上添加ALLOW ALL(所有协议,端口,应用程序)规则,但仍然面临相同的问题。在关闭远程防火墙的情况下,此连接可以正常工作。本地防火墙(客户端)状态无效。我已经排除了其他因素,例如Windows服务强化的第三方软件等。我还尝试将允许所有规则添加到入站和出站规则中。我也删除了所有内容,但规则仍然存在。
在代码中,connect()调用工作正常,但是send()返回失败10061(无法建立连接,因为目标计算机主动拒绝了它。) Telnet连接到这些端口也可以正常工作,并且可以发送/接收数据!
在这些应用程序之间,我们还有许多其他网络流量,例如DCOM调用,UDP数据,ICMP ping等,它们似乎都可以正常工作。
有人在这里看到任何明显的问题吗?我还应该研究什么。任何输入/帮助将不胜感激。谢谢,