【QT实现TCP数据发送和接收】

QT实现TCP数据发送和接收

  • TCP客户端
    • 可连接单客户端的TCP服务器
    • 可连接多客户端的TCP服务器
  • TCP客户端

TCP客户端

可连接单客户端的TCP服务器

单客户端服务器实现代码:
在.pro文件添加

QT       += network

在头文件中添加

#include
//或者
#include 
#include 
//在类中添加
	//声明QTcpServer 套接字
    QTcpServer *Server = nullptr;
    //声明QTcpSocket套接字
    QTcpSocket *Socket = nullptr;
	//定义变量存放IP地址和端口号
    QString ip = "192.168.10.93";
    int myport = 8001;
private slots:
    void new_client();

在源文件中添加

//在源文件构造函数中添加
	//创建QTCPServer套接字对象
    Server = new QTcpServer();
    //监听端口,参数1:监听的IP地址(指本地的),参数2:端口号
    Server->listen(QHostAddress::AnyIPv4,myport);
    //连接信号与槽,参数1:信号所在的对象,参数2:信号,参数3:槽函数所在的对象,参数4:槽函数
    connect(Server,SIGNAL(newConnection()),this,SLOT(new_client()));
//源文件中
//槽函数
void TcpServer::new_client()
{
   
	//创建QTCPSocket套接字对象
    QTcpSocket *Socket = new QTcpSocket();
    //取出建立好连接的套接字
    Socket = Server->nextPendingConnection();
    //获取对方的ip地址和端口
    QString ip = Socket->peerAddress().toString();
    qint16 port = Socket->peerPort();
    //在应用程序输出中显示IP地址和端口号,需要添加QDebug头文件
    qDebug()<<"IP地址:"<<ip<<"端口号:"<<port;
    QString tmp = QString("[%1:%2]:成功连接").arg(i

你可能感兴趣的:(QT编程,C++,qt,tcp/ip,网络)