QTcpServer может быть доступен только через localhost

IP-адрес моего компьютера в локальной сети 192.168.0.100Я начинаю свой QTcpServer с

if (!tcpServer->listen(QHostAddress::LocalHost, 1234)) {

Когда я пытаюсь подключиться к нему с netcat 192.168.0.100 1234, соединение отказано, но netcat localhost 1234 преуспевает.

В то же время, если я слушаю с netcat -l -p 1234Я могу подключиться на обоих 192.168.0.100 а также localhost без каких-либо проблем.

Это заставляет меня чесать голову, почему это происходит?

7

Решение

Для того, чтобы принимать подключения извне, вы должны слушать 0.0.0.0, не на 127.0.0.1 или же localhost, Последний будет разрешать подключения только с одного компьютера. Это также ценность QHostAddress::LocalHost,

Так что измените первый аргумент на QHostAddress::Any и это должно работать.

7

Другие решения

localhost находится на отдельном сетевом интерфейсе

ты можешь использовать QHostAddress::Any слушать внешние связи

3

По вопросам рекламы [email protected]