1、QT提供了QTcpSocket类,可以直接实例化一个客户端。需要在pro文件中添加   QT += network

2、连接服务端

connect(connectbutton,SIGNAL(clicked()),this,SLOT(on_connect_cliked()));
void MyDialog::on_connect_cliked(){
    if(connectbutton->text()=="连接")
    {
        m_socket->connectToHost("192.168.0.103",8899,QTcpSocket::ReadWrite);
        if(!m_socket->waitForConnected())
        {
            qDebug()<<"client connect error";
        }
        else{
            qDebug()<<"已连接上";
            connectbutton->setText("断开");
        }
    }
    else
    {
        m_socket->disconnectFromHost();
        if(m_socket->state()==QAbstractSocket::UnconnectedState
                || m_socket->waitForDisconnected(1000))
        {
            qDebug()<<"已断开";
            connectbutton->setText("连接");
        }
    }
}
3、接受服务端发来的数据
    QTimer *timer = new QTimer;
    connect(timer,SIGNAL(timeout()),this,SLOT(receive_repeat()));
    timer->start(1);

void MyDialog::readData(){
    QByteArray buffer = m_socket->readAll();
    if(!buffer.isEmpty())
    {
       receivee.append(buffer);
       qDebug()<<"添加了数据";
    }
}
4、给服务端发送数据
connect(sendbutton,SIGNAL(clicked()),this,SLOT(send_msg()));
void MyDialog::send_msg(){
    QString data = sendtext->toPlainText();

    if(data != "")
    {
//        qDebug()<<"mydialog sendtext2"<<data;
        m_socket->write(data.toLatin1());
    }
}




最新文章

  1. Go 项目的目录结构 及 安装技巧
  2. phpcms图片模型调用组图的问题
  3. XCode升级导致的IAP失败的问题
  4. LeetCode: 3_Longest Substring Without Repeating Characters | 求没有重复字符的最长子串的长度 | Medium
  5. V9最新手机门户域名绑定教程。
  6. iOS控件——UIView与UIImageView播放动画的实现方法
  7. 修改textField的placeholder的字体颜色、大小
  8. MySQL内存表的特性与使用介绍 -- 简明现代魔法
  9. 搭建Ubuntu下c/c++编译环境【转】
  10. node.js如何制作命令行工具(一)
  11. wamp的mysql设置用户名和密码
  12. oo修仙之路
  13. Step by Step Recipe for Securing Kafka with Kerberos
  14. 【Webpack 杂谈】帮助文档翻译:Webpack的模块
  15. zabbix免客户端监控网站URL
  16. MyBatis-Plus学习笔记
  17. Robot Framework - 一些练习
  18. RabbitMQ配置
  19. react在router中传递数据的2种方法
  20. SQL Server死锁产生原因及解决办法 .

热门文章

  1. linux常用命令精讲
  2. GO语言基础 为什么我要学习Golang以及GO语言入门普及
  3. 事件 jQuery类库、Bootstrap页面框架
  4. Junti单元测试
  5. Spark下中文分词常用项目
  6. Python实现单项链表
  7. test20230111考试总结 -2023寒图论专题
  8. Linux c 获取U盘挂载路径
  9. Apache RocketMQ 5.0 笔记
  10. C#开发PACS医学影像三维重建(十四):基于能量模型算法将曲面牙床展开至二维平面