一、介绍
使用QUdpSocket实现类似微信聊天功能,输入完聊天信息按回车键发送聊天内容,文中使用到注册事件过滤器方法,socket通讯没有服务端与客户端之分的,本文为了区分演示用,控件上取名字时取了服务端和客户端。其实它们的代码实现是一样的,只是监听的端口号不一样。
二、效果图
三、核心代码
#include "WidgetUdpClient.h"
#include "ui_WidgetUdpClient.h"
#include <QtNetwork/QHostAddress>
WidgetUdpClient::WidgetUdpClient(QWidget *parent) :
QWidget(parent),
ui(new Ui::WidgetUdpClient)
{
ui->setupUi(this);
// 注册事件过滤器
ui->textEditInput->installEventFilter(this);
// 初始化udpSocket,绑定监听端口号
m_pUdpSocket = new QUdpSocket(this);
m_pUdpSocket->bind(9999);
connect(m_pUdpSocket,SIGNAL(readyRead()),this,SLOT(dealRecvMsg()));
}
WidgetUdpClient::~WidgetUdpClient()
{
if(m_pUdpSocket != NULL)