Qt Socket网络编程 服务器端提示QIODevice::read (QTcpSocket): device not open,但是与客户端连接成功

Qt Socket网络编程 服务器端提示QIODevice::read (QTcpSocket): device not open,但是与客户端连接成功,第1张

这是因为文件路径不对造成的,解决方法如下:

1、首先pro文件配置:Qt网络功能需要在pro文件增加网络库。

2、QTcpServer服务端建立的方法代码,如下图所示。

3、QTcpServer当有新客户端连接时,会发出QTcpServer::newConnection的信号方法代码。

4、客户端为主动连接方不需要监听,直接建立QTcpSocket代码。

5、最后通过connectToHost连接指定ip和端口,将socket的连接成功的信号与对应槽连接,当连接成功可以将自定义的标记位置为true。

产生进程开销要比线程的开销更大。如果你的服务器连接的客户端的数量比较少,那么进程和线程在效率方面的差别感觉并不大。如果数量很大,比如1000,甚至更多,如果你用进程,那么响应完1000+的客户端连接就会变得很慢,因为你要把资源复制1000多份;但是用线程,它们共享同一个进程里的资源,就不需要花那么大的开销去响应客户端的连接。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/12892478.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-28
下一篇 2023-05-28

发表评论

登录后才能评论

评论列表(0条)

保存