C ++ - отправленный запрос не достигает другого компьютера

0

Я использую libcurl с C++, чтобы отправить HTTP-запрос другому хосту (моему компьютеру-другу) через Интернет. Теперь другой конец использует сценарий Node.js для получения и обработки запроса. Я пробовал код (как C++, так и Node) в моей локальной сети между моими компьютерами, и все работает нормально. Это код, если вы хотите посмотреть на него:

CURL *handle;
string response;

curl_global_init(CURL_GLOBAL_WIN32);
handle = curl_easy_init();

curl_easy_setopt(handle, CURLOPT_URL, "10.10.10.10:7890"); //<= IP:PORT of the remote host
curl_easy_setopt(handle, CURLOPT_POSTFIELDS, "This is my POST request data!!");
curl_easy_setopt(handle, CURLOPT_WRITEFUNCTION, write_to_string);
curl_easy_setopt(handle, CURLOPT_WRITEDATA, &response);

curl_easy_perform(handle);

curl_easy_cleanup(handle);

и код Node.js:

var http = require("http");
var server = http.createServer(function(request, response) {

    request.on('data', function(chunk) {

        console.log("We got a connection!");

        console.log("Received POST data:");
        console.log(chunk.toString());

    });

});

server.listen(7890);
console.log("Server is listening");

Как я уже сказал, в моей локальной сети это работает очень хорошо, но почему мой друг не получил запрос? Я заметил, что мой код (часть C++) занимает некоторое время перед закрытием, как будто он пытается подключиться. Это какая-то проблема с брандмауэром? Мы попытались отключить его, но ничего не изменилось. Мы почти полные нообы с сетью, и мы пытаемся войти в нее.

Если кто-нибудь может нам помочь, спасибо заранее!

  • 1
    «192.168.XX» не маршрутизируется. Это только адрес локальной сети.
  • 0
    Да, я изменил это в примере, но мы, конечно, используем IP-соединение. Я сейчас поменяю
Показать ещё 3 комментария
Теги:
networking

1 ответ

1

Ваш домашний домашний маршрутизатор должен знать, что делать с запросом соединения на порт 7890 из Интернета. Он должен быть настроен для пересылки любой связи на этом порту на конкретный внутренний IP-адрес вашего компьютера-друга.

Не все домашние маршрутизаторы способны перенаправлять порт, и многие производители имеют разные способы доступа к настройкам.

Любой программный брандмауэр на другом компьютере также должен знать, что связь через порт 7890 безопасна.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню