Я пытаюсь понять, как ограничить TCP-сокет локальным хостом. Наконец я нашел код, который компилируется, но не принимает никаких соединений.
Код принимает соединения с endpoint_all, но не с переменной «endpoint_local», установленной с помощью tcp::endpoint(ip::address::from_string("127.0.0.1"),port2);
boost::asio::io_service io_service;
short port = 9000;
tcp::endpoint endpoint_all = boost::asio::ip::tcp::endpoint(boost::asio::ip::tcp::v4(),port);
tcp::endpoint endpoint_local = boost::asio::ip::tcp::endpoint(boost::asio::ip::address::from_string("127.0.0.1"),port);
try
{
server s(io_service, std::atoi("9000"),endpoint_all);
io_service.run();
}
catch (std::exception& e)
{
}
Обновление: я могу получить доступ к сокету через «telnet 127.0.0.1 9000» и «telnet localhost 9000». Фактическое приложение, о котором идет речь (PHP XDebug), не подключается к конечной точке с ограниченным IP-адресом, а делает иначе.
"telnet localhost 9000" выдает следующую ошибку, но подключается. Я не подключаюсь к локальному хосту в php.ini, но, возможно, это сообщение связано. "Соединение отклонено для ::1:"
Я думаю, было бы правильно разрешить подключения к ::1: независимо от того, ошибка это или нет.
Trying ::1...
telnet: connect to address ::1: Connection refused
Trying fe80::1...
telnet: connect to address fe80::1: Connection refused
Trying 127.0.0.1...
Connected to localhost.
Подробнее здесь: https://stackoverflow.com/questions/345 ... l-networks
Как я могу ограничить приемник asio для локального хоста и/или локальных сетей? ⇐ C++
Программы на C++. Форум разработчиков
1763737321
Anonymous
Я пытаюсь понять, как ограничить TCP-сокет локальным хостом. Наконец я нашел код, который компилируется, но не принимает никаких соединений.
Код принимает соединения с endpoint_all, но не с переменной «endpoint_local», установленной с помощью tcp::endpoint(ip::address::from_string("127.0.0.1"),port2);
boost::asio::io_service io_service;
short port = 9000;
tcp::endpoint endpoint_all = boost::asio::ip::tcp::endpoint(boost::asio::ip::tcp::v4(),port);
tcp::endpoint endpoint_local = boost::asio::ip::tcp::endpoint(boost::asio::ip::address::from_string("127.0.0.1"),port);
try
{
server s(io_service, std::atoi("9000"),endpoint_all);
io_service.run();
}
catch (std::exception& e)
{
}
Обновление: я могу получить доступ к сокету через «telnet 127.0.0.1 9000» и «telnet localhost 9000». Фактическое приложение, о котором идет речь (PHP XDebug), не подключается к конечной точке с ограниченным IP-адресом, а делает иначе.
"telnet localhost 9000" выдает следующую ошибку, но подключается. Я не подключаюсь к локальному хосту в php.ini, но, возможно, это сообщение связано. "Соединение отклонено для ::1:"
Я думаю, было бы правильно разрешить подключения к ::1: независимо от того, ошибка это или нет.
Trying ::1...
telnet: connect to address ::1: Connection refused
Trying fe80::1...
telnet: connect to address fe80::1: Connection refused
Trying 127.0.0.1...
Connected to localhost.
Подробнее здесь: [url]https://stackoverflow.com/questions/34562824/how-can-i-limit-a-boost-asio-acceptor-to-localhost-and-or-local-networks[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия