#include "udpclient.h"
#include <QMessageBox>
#include <QHostAddress>
UdpClient::UdpClient(QWidget *parent,Qt::WindowFlags f)
: QDialog(parent,f)
{
setWindowTitle(tr("UDP Client")); //设置窗体的标题
/* 初始化各个控件 */
ReceiveTextEdit = new QTextEdit(this);
CloseBtn = new QPushButton(tr("Close"),this);
/* 设置布局 */
mainLayout=new QVBoxLayout(this);
mainLayout->addWidget(ReceiveTextEdit);
mainLayout->addWidget(CloseBtn);
connect(CloseBtn,SIGNAL(clicked()),this,SLOT(CloseBtnClicked()));
port =5555; //设置UDP的端口号参数,指定在此端口上监听数据
udpSocket = new QUdpSocket(this); //创建一个QUdpSocket
connect(udpSocket,SIGNAL(readyRead()),this,SLOT(dataReceived()));
//(a)
bool result=udpSocket->bind(port); //绑定到指定的端口上
if(!result)
{
QMessageBox::information(this,tr("error"),tr("udp socket create error!"));
return;
}
}
void UdpClient::CloseBtnClicked()
{
close();
}
void UdpClient::dataReceived()
{
while(udpSocket->hasPendingDatagrams()) //(a)
{
QByteArray datagram;
datagram.resize(udpSocket->pendingDatagramSize());
udpSocket->readDatagram(datagram.data(),datagram.size());
//(b)
QString msg=datagram.data();
ReceiveTextEdit->insertPlainText(msg); //显示数据内容
}
}
UdpClient::~UdpClient()
{
}
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
Qt5开发及实例,实例CH1003,客户端的编程。 (1)在头文件“udpclient.h”中声明了需要的各种控件,其具体代码; (2)源文件“udpclient.cpp”的具体代码; (3)客户端的界面运行外观如图10.7所示。 以上只是完成了客户端界面的实现,下面完成它的数据接收和显示的功能。 实现步骤如下。 (1)在“UdpClient.pro”中添加如下语句: QT += network (2)在头文件“udpclient.h”中添加以下代码;
资源推荐
资源详情
资源评论
收起资源包目录
Qt5开发及实例_CH1003.rar (5个子文件)
CH1003
UdpClient
udpclient.cpp 2KB
udpclient.h 538B
main.cpp 181B
UdpClient.pro.user 23KB
UdpClient.pro 1012B
共 5 条
- 1
资源评论
华为奋斗者精神
- 粉丝: 8201
- 资源: 241
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功