QtNetworkdemo

本文深入讲解网络编程基础知识,包括TCP/IP四层模型、网络通信流程、单播、组播及广播概念,重点介绍Linux环境下TCP与UDP编程细节,并提供QT网络编程示例,适合初学者快速掌握网络编程技巧。

网络编程.



Linux网络编程.

网络的分层模型: 4层

应用层: 用户自定义的应用协议,HTTP,TFTP,SSH,FTP…
传输层: TCP/UDP TCP:可靠的传输协议 UDP:不可靠的传输协议
网络层: IPV4,IPV6,3G,4G
物理层: 网卡,路由器,网线,基站…

TCP搭建流程:

服务器端:
1:创建网络通信tcp socket
2:绑定服务器的IP地址信息
3:监听客户端的连接请求
4:等待客户机的连接
5:进行通信
6:关闭通信

客户端:
1:创建网络通信 tcp socket
2:连接服务器
3:进行通信
4:关闭通信

UDP的通信流程

接受端:
1:创建UDP通信socket
2:绑定UDP通信socket
3:接受数据
4:关闭通信

发送端:
1:创建UDP通信socket
2:往绑定的IP地址中发送数据
3:关闭通信

通信方式:单播、组播、广播


QT网络编程demo.


相关类静态函数函数说明
QNetworkInterfaceQNetworkInterface::allAddresses()获得所有的IP地址
QNetworkInterfaceQNetworkInterface::allInterface()获得所有的网卡信息
QNetworkInterfaceQNetworkInterface::hardwateAddress()warning 消息框

更多接口详见
Header:#include
qmake:QT += network

用例

QNetworkInterface::allAddresses()

  
QList<QHostAddress> addrs = QNetworkInterface::allAddresses();

相关类静态函数函数说明
QTcpSocketQTcpSocket()创建QTCP通信socket

用例

QTcpSocket()

  
clien = new QTcpSocket(this);
//设置服务端IP
QHostAddress MYip("192.168.95.99");
//设置端口
unsigned short PORT = 9046;
//连接服务器
clien->connectToHost(MYip, PORT);

关联有数据可读信号

connect(clien, SIGNAL(readyRead()), this, SLOT(readData())); //readData()为用户编写的槽函数

数据的发送,发送数据,注意数据类型的转化
sclien->write(msg.toUtf8()); //注意发送的类型为char *

关闭通信
clien->close()

更多接口详见
QTcpSocket
QHostAddress


我的GITHUB

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大大棋

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值