QTcpSocket从服务器接收数据

QTcpSocket从服务器接收数据,qt,qt4,qtcpsocket,Qt,Qt4,Qtcpsocket,是否可以从QTcpSocket读取未知形式的数据 我的意思是,我有一个TCP客户端和服务器应用程序。两者都使用QDataStream成功交换数据包 如果说任何其他应用程序(不是我创建的)通过相同的IP和端口向我的服务器发送数据,是否可以读取数据 我知道,除非它是使用QDataStream编写的,否则无法读取它,但如何转储接收数据,以便更改代码以接受该形式的数据 所以,最后我的问题是,使用QTcpSocket的服务器/客户端应用程序如何从未知的客户端/服务器应用程序读取(转储)数据 希望我没有把任

是否可以从QTcpSocket读取未知形式的数据

我的意思是,我有一个TCP客户端和服务器应用程序。两者都使用QDataStream成功交换数据包

如果说任何其他应用程序(不是我创建的)通过相同的IP和端口向我的服务器发送数据,是否可以读取数据

我知道,除非它是使用QDataStream编写的,否则无法读取它,但如何转储接收数据,以便更改代码以接受该形式的数据

所以,最后我的问题是,使用QTcpSocket的服务器/客户端应用程序如何从未知的客户端/服务器应用程序读取(转储)数据


希望我没有把任何人弄糊涂。

我认为问题在于你在用QDataStream阅读,而不是你在用QtcSocket。在这种情况下,请使用readRawData。这将忽略QDataStream所需的格式


我试过了。它正在读取所有字节,但当我尝试显示时,它什么也没有显示
qDebug()“char raw”只是一个字符,但您正在读取client->size()字节。让QByteArray生的;调整大小(客户端->大小());readRawData(raw.data(),raw.size());要打印,最好使用raw.toHex(),因为数据可能包含不可打印的字符。如果要处理普通数据,请不要使用QDataStream,而是直接读取()。如何确定接收的数据类型?有什么功能可以检查它吗?没有,如何解释数据是特定于协议的,由您决定