qt中 udp 套接字 实现点对点通信 实现代码
时间: 2023-10-13 13:06:17 浏览: 55
以下是使用Qt实现UDP套接字实现点对点通信的示例代码:
发送方代码:
```cpp
#include <QUdpSocket>
// 创建UDP套接字
QUdpSocket send_socket;
// 绑定本地IP地址和端口
send_socket.bind(QHostAddress::LocalHost, 8000);
// 发送数据包到远程主机
QHostAddress remote_ip("127.0.0.1");
quint16 remote_port = 9000;
QString send_msg = "Hello, World!";
send_socket.writeDatagram(send_msg.toUtf8(), remote_ip, remote_port);
// 关闭套接字
send_socket.close();
```
接收方代码:
```cpp
#include <QUdpSocket>
// 创建UDP套接字
QUdpSocket recv_socket;
// 绑定本地IP地址和端口
recv_socket.bind(QHostAddress::LocalHost, 9000);
// 接收数据包
QByteArray recv_data;
QHostAddress remote_addr;
quint16 remote_port;
recv_data.resize(recv_socket.pendingDatagramSize());
recv_socket.readDatagram(recv_data.data(), recv_data.size(), &remote_addr, &remote_port);
QString recv_msg(recv_data);
qDebug() << recv_msg;
// 关闭套接字
recv_socket.close();
```
在上面的代码中,发送方绑定本地IP地址和端口,并将数据包发送到远程主机。接收方绑定本地IP地址和端口,并接收来自远程主机的数据包。注意,发送方和接收方使用相同的IP地址和端口。