通过VPN连接失败

3

我在MFC编程中遇到了一个非常奇怪的问题。我使用winsock.h中的connect()函数来连接到指定端口的服务器。在正常情况下一切都很好,但是当我使用VPN时,我就无法连接到我的服务器了。GetLastError()返回的是10060 - 超时错误。

之后,我使用ping命令连接到我的服务器 - 一切都很好,连接状态非常好,最多只有400ms。所以,我使用telnet命令连接到服务器的端口 - 我看到了超时错误。

在我断开VPN后,telenet成功运行。

这对我来说很奇怪...... 我该如何解决这个问题?

更多信息:我正在使用PacketiX,端口号为17006。

2个回答

5
这可能与“套接字编程”无关,与“网络配置”有关。
两个强有力的可能性:
1. VPN有一个防火墙,阻止了您的连接 ...和/或... 2. 您的内部LAN具有与VPN的LAN相同的网络号(例如,对于两个网络都是192.1.168.xxx),当VPN开启时堆栈无法正确路由。
还有其他可能性。
强烈建议: 获取WireShark的副本并跟踪通过线路进行的调用:

http://www.wireshark.org


3
当我使用80端口时,一切正常。也许PacketiX阻止了17006端口。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接