qt网络编程

一 tcp/ip通信

qt

pro文件:

QT  +=network

头文件:

#include<QTcpServer>
#include<QTcpSocket>

vsqt

项目右建选择属性然后接下来的操作如图:

 头文件:

#include <QtNetwork/QTcpSocket>
#include <QtNetwork/QTcpServer>

服务器代码:

 
    QTcpServer  *m_s=new   QTcpServer(this);

    QTcpSocket* tcp;
    QString DuanKouHao = "6666";//端口号
    unsigned short port = DuanKouHao.toUShort();//转化端口号
    m_s->listen(QHostAddress::Any, port);//设置端口号
    connect(m_s, &QTcpServer::newConnection, this, [&]() {
         tcp = m_s->nextPendingConnection();
        connect(tcp, &QTcpSocket::readyRead, this, [=] {
            QByteArray data = tcp->readAll();//获取的消息

            });//窗口客户端是否发送消息过来

          
        });//窗口是否有客户端连接操函数

     QString XiaoXi= "哈哈哈";//消息发送
    tcp->write(XiaoXi.toUtf8());//消息发送

客户端代码:

//----------------------------基本操作------------------------//
QTcpSocket  *tcp=new  QTcpSocket(this);
QString DuanKouHao = "6666";//要连接服务器的端口号
unsigned short port = DuanKouHao.toUShort();//转化端口号正确的类型
QString  ip="192.168.110.119";//服务器ip
tcp->connectToHost(QHostAddress(ip),port);
//-----------------------------获取是否与服务器连接成功-----------//
connect(tcp, &QTcpSocket::connected, this, [=] {
            //响应了这个信号槽说明连接成功了

            });//窗口客户端

//-----------------------发送数据----------------------------//
QString XiaoXi= "哈哈哈";//消息发送
tcp->write(XiaoXi.toUtf8());//消息发送

//-----------------------接收数据-----------------------------//
 connect(tcp, &QTcpSocket::readyRead, this, [=] {
            QByteArray data = tcp->readAll();//获取的消息

            });//窗口客户端是否发送消息过来

//----------------------获取服务器是否与自己断开----------------//

 connect(tcp, &QTcpSocket::disconnected, this, [=] {
            tcp->close();//关闭tcp

            });//窗口客户端
//-----------------------------------------------------------//

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值