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
без каких-либо проблем.
Это заставляет меня чесать голову, почему это происходит?
Для того, чтобы принимать подключения извне, вы должны слушать 0.0.0.0
, не на 127.0.0.1
или же localhost
, Последний будет разрешать подключения только с одного компьютера. Это также ценность QHostAddress::LocalHost
,
Так что измените первый аргумент на QHostAddress::Any
и это должно работать.
localhost
находится на отдельном сетевом интерфейсе
ты можешь использовать QHostAddress::Any
слушать внешние связи