Я использую C++ REST SDK для создания сервера HTTP, который используется для приема запросов от почтальона, но если я такой код:Не можете слушать на конкретном порту NUM с LOCALHOST адреса с http_listener (C++ REST SDK)
http_listener listener(L"http://localhost/io");
listener.open().wait();
listener.support(methods::POST, [](http_request req) {
});
Почтальон может подключиться к нему с http://localhost/io
в методе POST, Но если я код, как:
http_listener listener(L"http://localhost:6000/io");
Почтальон не может подключиться к нему с http://localhost:6000/io
и методом POST. Но если я код как http_listener listener(L"http://localhost/io:6000");
Почтальон может связаться с ним в http://localhost/io:6000
с методом POST. Как я могу сделать http://localhost:6000/io
работы для моего слушателя? Другая программа, с которой я работаю, всегда отправляет http-запрос http://localhost:6000/io
, поэтому мне нужно, чтобы мой сервер прослушивал этот адрес.
http_listener listener(L"http://localhost:6000"); //doesn't work, too.
Но когда я изменяю 6000 на любой другой порт NUM, как 7000 или 8000, как http_listener listener(L"http://localhost:7000")
или http_listener listener(L"http://localhost:7000/io")
это работает для меня. Я использую netstat -a -b
, чтобы проверить, занят ли 6000 другой программой, но 6000 является бесплатным.
Я верю, что «http: // localhost/iotresponse: 6000» «подключается к порту 80 (по умолчанию), а не 6000. – Pawel
@Pawel как насчет« http: // localhost: 6000/iotresponse »? Он также подключается к порту 80? Требование для меня прослушивается «http: // localhost: 6000/iotresponse» – firstaccount
Нет, 'http_listener (L" localhost: 6000 ")' должен прослушивать порт 6000. Я не знаю, почему порт 6000 не работает, пока другие порты работают. Я думал, что это потому, что что-то еще использует порт 6000, но вы сказали, что netstat не показал, что порт 6000 был взят, поэтому я не знаю ... – Pawel