一、问题描述
在写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
结论:
这个问题,是实际工作的一备忘,可能不会总是出现,一旦出现,网上资料较少,希望能帮到大家!