微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

c – 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上连接而没有任何问题.

这让我摸不着头脑,为什么会这样?

解决方法

为了接受来自外部的连接,您必须侦听0.0.0.0,而不是127.0.0.1或localhost.后者只允许来自同一台机器的连接.它也是QHostAddress :: LocalHost的值.

所以将第一个参数更改为QHostAddress :: Any,它应该可以工作.

原文地址:https://www.jb51.cc/c/119449.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐