QT 局域网聊天软件项目实战


文档顶部

7 07_局域网聊天软件项目实战


目录



7.1 01_功能


文档顶部   本章顶部

7.1.1 01_介绍

功能。

局域网聊天软件界面。 顶部有一个用户昵称编辑框。 接着是用户输入待发送信息的编辑框, 然后是发送按钮。 底部是用户已经发送过的信息, 以及用户接收到的其它用户发送的信息。

7.2 02_设计


文档顶部   本章顶部

7.2.1 01_介绍

设计。

在QT界面设计器中 顶部昵称编辑框QLineEdit。 待发送信息编辑框QLineEdit。 发送按钮QPushButton。 底部历史记录文本框QTextBrowser。

7.3 03_实现


文档顶部   本章顶部

7.3.1 01_窗口类型

窗口类型。

窗口界面类型ButianyunMainWindow。 定义了私有函数addToHistory: 将字符串加入到历史记录中。 定义了槽函数on_pushButton_clicked: 发送按钮点击处理。 定义了槽函数udpReadyRead: UDP套接字数据读取已就绪。 定义了UDP套接字变量udp, 类型是QUdpSocket。


文档顶部   本章顶部

7.3.2 02_构造函数

构造函数。

调用QUdpSocket类型的bind函数, 绑定本机的UDP端口12345。 指定了SharedAddress和ReusedAddressHint选项, 表示在同一个主机上可以有多个进程使用这个端口。 建立了udp的readyRead信号 和槽函数udpReadyRead的连接。 当UDP套接字上收到信息时, 将调用udpReadyRead函数。


文档顶部   本章顶部

7.3.3 03_发送信息

发送信息。

首先拼接待发送信息, 包含昵称和待发送的数据。 然后构造网络数据包。 目标地址设定为广播地址, 端口号为12345。 接着使用writeDatagram函数 发送UDP网络数据包, 并将发送记录加入到历史记录中。


文档顶部   本章顶部

7.3.4 04_接收信息

接收信息。

调用QUdpSocket类型的 hasPendingDatagrams函数 判断是否还有没有读取的数据包, 如果有则调用receiveDatagram函数 读取数据包。 如果读取成功, 则将读取到的信息加入到历史记录中。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值