qt的tcp通信 服务器和客户端读写数据的问题?

qt的tcp通信 服务器和客户端读写数据的问题


慕勒3428872
浏览 1584回答 2
2回答

炎炎设计

首先回答第一个问题,读和写可以有多种实现方式,用write和read只是其中一种,前面一个函数中的 clientConnection->write(block)是调用了QTcpSocket 类中的write方法来实现,如果你想不用此方法调用类中的read和write方法,就是你问的第二个问题,in和out的作用,in和out在这里将对socket中的报文收发变为数据流的形式来操作,QDataStream in(tcpSocket)比如这一句是将tcpSocket这个连接的实例对象作为一个文件描述符传递给QDataStream,然后 in >> blockSize这句话实现的就是相当于read的操作,就是将数据流读出来。这个 out << (quint16)(block.size() - sizeof(quint16))是写入。实际上对诸如串口收发,读写文件,socket通信等等,用C语言来写,抽象出来都是对文件描述符进行操作,都可以用write和read来做,所以,实际上,第一种方法和第二种方法是一样的,就看你选择什么样的方法了,第三个问题可参考out << (quint16)(block.size() - sizeof(quint16))这样的方法在收到数据以后把数据发出去。

幕布斯7119047

通常来说我们的服务器是分三类,数据库的服务器,web的服务器,以及其他应用的服务器。这些其实都是小型机,服务器,只不过是根据用途不同而分类。正常来说一个网站的常规服务器的架构就是这三块。  他所说的 " 数据库连接到服务器" 可能是指 "怎么样把web服务器和数据库能够建立连接 " 。这里所说的web服务器应该是指tomcat,apache,IIS,weblogic之类的东西,而不是真正意义上的web服务器。  这样的话就简单了。要么ODBC要么JDBC,该怎么样怎么样。ODBC就是添加到数据源,JDBC就是要写JDBC驱动,或者使用mybatis之类的解决方案
打开App,查看更多内容
随时随地看视频慕课网APP