sas*_*alm 7 c++ ip qt qtcpserver
我的计算机在本地网络上的IP是192.168.0.100,我启动了我的QTcpServer
if (!tcpServer->listen(QHostAddress::LocalHost, 1234)) {
Run Code Online (Sandbox Code Playgroud)
当我尝试连接到它时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,它应该工作.
| 归档时间: |
|
| 查看次数: |
1871 次 |
| 最近记录: |