QT QTcpServer类到底怎么用?

QT QTcpServer类到底怎么用?,第1张

使用tcpserver一般都要继承之后添加一个事件处理slot。
明显的当新连接到达时,newConnection是会被emit的,然后使用QTcpServer::nextPendingConnection获得一个可用的tcpsocket对象实例。如果你需要将此实例用于另外的线程中,需要传递socket handle 也就是重载 QTcpServer::incomingConnection ( int socketDescriptor ) [virtual protected]保护方法来传递一个socket句柄,在目标线程中创建一个tcpsocket实例。
可能是你的代码的继承或者作用域有些问题,qt的connect的Qt::AutoConnection 链接类型并不如宣称的那么好用,有时候会在不报错的情况下失去作用。

1、电脑自身的防火墙问题,关闭防火墙,建立最简单的demo,不成功。
2、程序有问题,运行QT自带的demo也不成功,感觉不科学。代理可能出问题。发现好像设置了IE代理,解决方案加入QNetworkProxyFactorysetUseSystemConfigurationfalse。问题完美解决。

QT做TCP广播IP方法如下所示:
1、在pro文件中加入network模块QT+=network
2、在你的h里面添加QTcpSocket
3、连接服务器地址和端口号tcpSocket->connectToHost("19216811",8000);
4、监听连接成功的信号SGINAL-->connected()
5、给socket填写你想发送的数据,封装成QByteArray

这个用不着QT。QT是C++写的,C++兼容C。我这倒是有C语言写的。你要的话把邮箱给我。我发给你。发给你的东西有很多其他的代码。有聊天程序,有传文件的程序(模拟scp)、还有shell。
你说 用getlp函数 得到的ip不对,可能是你选的连接类型是本地连接。用socket的时候你要用 AF_INET 而不是 AF_UNIX。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zz/10630221.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-10
下一篇2023-05-10

发表评论

登录后才能评论

评论列表(0条)

    保存