没有合适的资源?快使用搜索试试~ 我知道了~
Qt学习 之 Socket通信(世界上最简单的例子了) - imxiangzi的专栏 - CSDN博客1
需积分: 0 14 下载量 171 浏览量
2022-08-03
13:30:10
上传
评论
收藏 2.48MB PDF 举报
温馨提示
试读
9页
引言最近也有很多人来向我"请教",他们大都是一些刚入门的新手,还不了解这个行业,也不知道从何学起,开始的…阅读数 411博文来自: bigsai我花了一夜用数据
资源详情
资源评论
资源推荐
11/15/2019 Qt学习 之 Socket通信(世界上最简单的例子了) - imxiangzi的专栏 - CSDN博客
https://blog.csdn.net/imxiangzi/article/details/81014079 1/9
Python工程师
首页 博客 学院 下载 论坛 问答 商城 活动 专题 招聘 ITeye GitChat APP VIP会员
续费8折
写
转载
Qt学习 之 Socket通信(世界上最简单的例子了)
2018-07-12 13:20:06 imxiangzi 阅读数 867 更多
最近写大作业用到Qt的Socket部分,网上关于这部分的资料都太过复杂,现在总结一下一些简单的应用。有机会可以给大家讲讲用Socket传送文件的代
这里主要讲解如何实现TCP和UDP的简单通信。
socket简介
在LINUX下进行网络编程,我们可以使用LINUX提供的统一的套接字接口。但是这种方法牵涉到太多的结构体,比如IP地址,端口转换等,不熟练的人
样那样的错误。QT中提供的SOCKET完全使用了类的封装机制,使用户不需要接触底层的各种结构体操作。而且它采用QT本身的signal-slot机制,使编
容易理解。
这是文档。个人觉得,QT的文档除了缺少一些例子,其他还是不错的。
QT5中相比于QT4应该更新了一些socket的应用,QT4相比于QT3也更新了不少,而且还改了很多的类名,大家在网上找资料的时候一定要注意。
UDP通信
UDP没有特定的server端和client端,简单来说就是向特定的ip发送报文,因此我把它分为发送端和接收端。
注意:在.pro文件中要添加QT += network,否则无法使用Qt的网络功能。
发送端
UDP接收端
1 #include <QtNetwork>
2 QUdpSocket *sender;
3 sender = new QUdpSocket(this);
4
5 QByteArray datagram = “hello world!”;
6
7 //UDP广播
8 sender->writeDatagram(datagram.data(),datagram.size(),QHostAddress::Broadcast,6665);
9
10 //向特定IP发送
11 QHostAddress serverAddress = QHostAddress("10.21.11.66");
12 sender->writeDatagram(datagram.data(), datagram.size(),serverAddress, 6665);
13
14 /* writeDatagram函数原型,发送成功返回字节数,否则-1
15 qint64 writeDatagram(const char *data,qint64 size,const QHostAddress &address,quint16 port)
16 qint64 writeDatagram(const QByteArray &datagram,const QHostAddress &host,quint16 port)
17 */
1 #include <QtNetwork>
2 QUdpSocket *receiver;
3
4 //信号槽
5 private slots:
6 void readPendingDatagrams();
7
8 receiver = new QUdpSocket(this);
9 receiver->bind(QHostAddress::LocalHost, 6665);
10 connect(receiver, SIGNAL(readyRead()),this, SLOT(readPendingDatagrams()));
11
12 void readPendingDatagrams()
13 {
14 while (receiver->hasPendingDatagrams()) {
15 QByteArray datagram;
16 datagram.resize(receiver->pendingDatagramSize());
0
琉璃纱
- 粉丝: 15
- 资源: 298
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0