我在Qt中有一个客户端,它使用 QTcpSocket-> write()方法不断编写数据。
另一方面,我的服务器使用 QTcpSocket-> readyRead()信号,该信号连接到使用 readAll()方法检索信息的插槽
我的问题是,有时服务器正在忙着做其他事情,所以当调用 readAll 时,它会返回一个QString,其中包含多个收到的消息,所有消息都连接在一起。
由于我无法更改消息表单(例如添加显式结束字符),有没有办法将一条消息与另一条消息区分开来?我查看了文档,看看 write 函数是否在流的末尾添加了一个特定的字符但是找不到任何内容。
PS:我将使用服务器处理它只是为了接收消息并将它们放入队列中,这样当消息到达时它很少有机会忙,但它不是一个完美的解决方案!