QNativeSocketEnginewrite() was not called in QAbstractSocketConnectedState

一、问题描述

  在写QT Socket Server 与 Socket Client链接的程序时,Socket Client报出如下问题:

QNativeSocketEnginewrite() was not called in QAbstractSocketConnectedState,无法正常链接 socket server ,但其他socket client是可以链接这个 server的

二、分析问题

QNativeSocketEnginewrite() was not called in QAbstractSocketConnectedState
这个问题是要在项目的pro中添加一个 network
QT       += network

知识

使用QTcpServer和QTcpSocket之前都需要在pro文件中加入:

QT       += network
一、服务器:      

         1.创建QTcpServer对象
         2.启动服务器(监听)调用成员方法listen(QHostAddress::Any, 端口号)
         3.当有客户端链接时候会发送newConnection信号,触发槽函数接受链接(得到一个与客户端通信的套接字QTcpSocket)
         4.QTcpsocket发送数据用成员方法write,
         5.读数据当客户端有数据来,QTcpSocket对象就会发送readyRead信号,关联槽函数读取数据

三、解决办法

   原因是在  没有加或者少了 在 pro 中没有添加 Qt +=network

 结论:

        这个问题,是实际工作的一备忘,可能不会总是出现,一旦出现,网上资料较少,希望能帮到大家!

猜你喜欢

转载自blog.csdn.net/wyj372/article/details/129878294