RTOS подключается через TCP к локальному серверу, но не к удаленному серверу - PullRequest
1 голос
/ 03 ноября 2011

Я использую устройство 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 ;

Я пытался использовать два разных удаленных сервера: один с Google, а другой -

Как примечание: я могу пропинговать оба, и оба порта открыты.

Мне было интересно, почему это происходит.

1 Ответ

0 голосов
/ 04 ноября 2011

Я являюсь сотрудником @alexfontaine, и мы обнаружили, что эта проблема на самом деле вызвана настройкой сети нашего офиса и не имеет ничего общего с приведенным выше кодом подключения.

Посмотри этот вопрос IP-адрес DHCP имеет доступ к Интернету, но статический IP-адрес не находится за маршрутизатором

Вместо того, чтобы удалить этот вопрос, я отвечаю на него другим вопросом для следующего человека, у которого также может быть эта проблема.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...