RTOS通过TCP连接到本地服务器,但不连接到远程服务器

RTOS通过TCP连接到本地服务器,但不连接到远程服务器,tcp,remote-server,Tcp,Remote Server,我正在使用RTOS设备,当尝试通过TCP连接到服务器时,我遇到了一些不寻常的结果 当连接到本地网络上的服务器时,连接良好,我可以看到数据包在Wire shark上流动 但是,当尝试连接到我的域之外的远程服务器时,连接失败,错误代码为: TCP_ERR_NOSUCH_SOCKET(-4)--表示您试图分配一个 不存在 这在connect()函数执行期间发生: bool CTCP::Connect( const char * ipaddr, unsigned short port ) { I

我正在使用RTOS设备,当尝试通过TCP连接到服务器时,我遇到了一些不寻常的结果

当连接到本地网络上的服务器时,连接良好,我可以看到数据包在Wire shark上流动

但是,当尝试连接到我的域之外的远程服务器时,连接失败,错误代码为:

TCP_ERR_NOSUCH_SOCKET(-4)--表示您试图分配一个 不存在

这在connect()函数执行期间发生:

bool CTCP::Connect( const char * ipaddr, unsigned short port ) {
    IPADDR ip = AsciiToIp( ipaddr ) ;
    this->m_fdnet = connect( ip, INADDR_ANY, port, TICKS_PER_SECOND * 3);
    if( this->m_fdnet < 0 ) {
        CLogging::Debuglogf("[TCP] Error: Connection failed, error=[%d]", getsocketerror( this->m_fdnet ) );
        return false;
    }
    return true ;
bool CTCP::Connect(const char*ipaddr,无符号短端口){
IPADR ip=AsciiToIp(IPADR);
这->m_fdnet=connect(ip、INADDR_ANY、端口、滴答声/秒*3);
如果(此->m_fdnet<0){
阻塞::Debuglogf(“[TCP]错误:连接失败,错误=[%d]”,getsocketerror(this->m_fdnet));
返回false;
}
返回true;
我尝试了两个不同的远程服务器,一个是谷歌,另一个是谷歌

请注意:我可以ping这两个端口,并且这两个端口都是打开的


我想知道为什么会发生这种情况。

我是@alexfontaine的同事,我们发现这个问题实际上是由我们办公室的网络设置引起的,与上面的连接代码无关

看到这个问题了吗

我没有删除这个问题,而是用另一个问题来回答这个问题,这个问题下一个可能也会有这个问题的人