QNetwork

news/2024/11/29 10:49:49/

Tcp/IP

TCP/IP是一套用于网络通信的协议集合或者系统
TCP/IP体系:
转自https://blog.csdn.net/weixin_42621338/article/details/87354737
在这里插入图片描述

TCP报文格式:
转自https://blog.csdn.net/paincupid/article/details/79726795
三次握手连接TCP
在这里插入图片描述
四次挥手断开TCP
在这里插入图片描述

QHostAddress

枚举类型含义
QHostAddress::Null空地址对象,相当于QHostAddress()
QHostAddress::BroadcastIPv4广播地址,相当于QHostAddress(“255.255.255.255”)
QHostAddress::LocalHostIPv4本地主机地址,相当于QHostAddress(“127.0.0.1”)
QHostAddress::LocalHostIPv6IPv6本地主机地址,相当于 QHostAddress(“::1”)
QHostAddress::Any双any-address栈,与该地址绑定的socket将侦听IPv4和IPv6接口
QHostAddress::AnyIPv6IPv6 any-address,相当于QHostAddress(“::”)。与该地址绑定的socket将只监听IPv4接口
QHostAddress::AnyIPv4IPv4 any-address,相当于QHostAddress(“0.0.0.0”)。与该地址绑定的socket将只监听IPv4接

注:Qt4我没有发现AnyIPv4。

UDP使用

发送:

    QByteArray datagram;QString str = QDateTime::currentDateTime().toString("yyyy/MM/dd") + QHostInfo::fromName(QHostInfo::localHostName()).addresses().last().toString();
#ifdef WIN32datagram = str.toLocal8Bit();
#elsedatagram = str.toLatin1();
#endif //发送主机可以用QHostAddress("127.0.0.1")替换udpSocketServer.writeDatagram(datagram, QHostAddress::Broadcast, 13999);  // UDP 发送数据

两种方法都可以,但是Linux下无验证。
接受:

QUdpSocket *udpSocketClient = new QUdpSocket(this);
udpSocketClient.bind(QHostAdress::Any, 13999);   //建立监听
connect(&udpSocketClient, SIGNAL(readyRead()), this, SLOT(onPendingDatagrams())); 
//函数实现
void ceshi::onPendingDatagrams()
{while( udpSocketClient.hasPendingDatagrams() );{QByteArray datagram;datagram.resize(udpSocketClient.pendingDatagramSize());udpSocketClient.readDatagram(datagram.data(), datagram.size());  //接收数据QString str1 = QString(datagram);}
}

http://www.ppmy.cn/news/246545.html

相关文章

腾讯Tencent

1、一个商场进行一场抽奖活动,其中有两个奖项,第一个奖项A抽中的概率是1/6,第二个奖项B抽中的概率是5/6;用C语言编码实现这个抽奖程序。 题目通过一个XML文档给出。 生成一个真随机数。 随机数对6取余,得到的余数一定…

开源项目——小Q聊天机器人V1.4

声明:本博客内容只为学习交流使用,未经本人同意,禁止商用,此应用已有上线版本,严禁盗版!!! 小Q聊天机器人V1.0 http://blog.csdn.net/baiyuliang2013/article/details/51386281 小Q聊…

QT笔记——Q_Q 和Q_D 学习

在源码中,我们会经常看到Q_Q 和 Q_D 这两个东西 ,很好奇,就去网上搜索了一些和 查看了一些源码 部分 一:Q_D相关宏 #define Q_D(Class) Class##Private * const d d_func()Q_D(Test); //展开后 是一个 私有类的指针常量 Test…

基于QT平台webapi科大讯飞语音机器人2.0

本博是针对上一个版本的语音机器人更新,主要更新内容为对iat的支持,即使用语音交互取代文字输入的方式,由于之前忙于其他事情一直没来的及更新,以后会将语音机器人一直做下去,添加更多的功能和大家分享。 那么先来看看…

qq等级计算机在线,I'M QQ - QQ官方网站

QQ等级说明 QQ等级规则 通过累积活跃天数,您可以获取相应的QQ等级。累积在线天数将有机会参加我们即将推出的奖励活动和享受相关的优惠服务,而不影响正常的QQ使用。 拥有QQ在线等级为太阳级别及以上的用户,可享受任意上传设置QQ自定义头像和建…

QQ通讯

要求 实现增删改查功能制作代码展示 启动方法 public void start(){Console.WriteLine("程序启动了,这是start方法");//判断是否登录成功if (login()){Console.WriteLine("登录成功!");Menu();//显示菜单}else{Console.WriteLine("账号或…

腾 讯 滑块

腾讯邮箱的登录就两个加密,邮箱本身的,和一个腾讯系的滑块,之前搞的时候和防水墙还是一样的,现在和防水墙已经不同了,但是主要的加密还是tdc这个文件。现在邮箱的滑块和防水墙相比简洁了很多,全程就两个包 …

Q_04_01 什么是Q#?

什么是Q#? Q#是用于量子计算的可扩展的多范式特定领域编程语言。 Q#是一种量子编程语言,它可以用来描述如何在量子机器上执行指令。 可以定位的机器包括许多不同的抽象层次,从各种模拟器到实际的量子硬件…