2011-11-03 76 views
1

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

当连接到本地网络上的服务器时,连接状态良好,我可以看到Wireshark上的数据包正在流动。

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

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 ; 

I与两种不同的远程服务器,一个与谷歌,另一个尝试。

注意:我可以同时ping,并且两个端口都打开。

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

回答