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。

http协议是在tcp/ip协议上建立起来了,要在Android上建立一个http服务器的话,确实挺麻烦的.使用现成的,到是会节省一些时间,但是现成的都不太完善,如果需要自己去实现http协议的话,会很花时间.

如果楼主只是想访问手机上的文件,很多种方式都可以,有很多现成的android应用可以做到.

或者楼主考虑使用ftp服务器来代替http服务器.这样会简单很多,而且也可以在浏览器里面访问.

再或者看下有没有人把Apache HTTP Server,移植到android上面.

界面采用QTableWidget控件做列表.

写配置文件,采用QSettings类操作文件。

----------------------------------------------------------

建立信号\槽,QTableWidget改变之后,发送singal,你直接操作QSettings就可以了;

如果是配置文件改变,这个你需要使用QTimer一直检查配置文件,如果有改变,你就更改QTableWidget就可以了


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/133281.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存