一、介绍
UDP是一个无连接协议,传输数据之前源端和终端不建立连接,当它想传送时就简单地去抓取来自应用程序的数据,并尽可能快地把它扔到网络上。由于传输数据不建立连接,因此也就不需要维护连接状态,包括收发状态等,因此一台服务机可同时向多个客户机传输相同的消息。这样就极大地减少了系统开销,降低了流媒体的误码率和丢包率,并保证了流媒体播放的平滑性。
1、使用时需要在项目的pro中增加 QT+=network
2、使用到UDP通讯类QUdpSocket
3、服务器端需要绑定固定端口
4、客户端向服务器绑定的端口发送数据
5、服务器根据客户端连接过的IP和端口向客户端发送数据
6、使用QVariant在comboBox中保存客户端IP和端口
二、服务器代码
#include "MainWindow.h"
#include "ui_MainWindow.h"
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
setWindowTitle("服务器8888");
connect(ui->pbSend,SIGNAL(clicked()),this,SLOT(onBtnSendClick()));
//创建socket
m_pUdpSocket = new QUdpSocket(this);
//绑定服务器端的端口,只需要绑定服务器端的IP和端口,客户端就可以和服务器通讯,服务器可以根据接收到的客户端消息,向对应的客户端发送消息
m_pUdpSocket->bind(8888);
//收数据
conne