首页| 论坛| 消息

标题:QTcpSocket发送字节流
作者:tanyue.esec
日期:2020-08-14 13:43
内容:

QTcpSocket的write函数,参数只有char*, QByteArray两种,如何发送流,并且在发送流结束之后,能够关闭流,从而让服务端知道本次发送已经结束了。
之前用C#和Java,都是通过一个类似OutputStream之类的类,当stream关闭后,server端就执行对应的操作,并将结果通过socket返回回来。
而在Qt中,似乎只有通过client.close的方式,才能触发server端执行对应的操作。


#1 [kenbe 08-14 14:06]
没有发现有支持流发送的方式,这需求能不能拆开来一个一个包发送?
#2 [tanyue.esec 08-14 14:24]
拆成多少个包倒是无所谓,关键是要让server端知道一次发送结束了,不再等待输入,开始下一步操作了,要不一直在循环中等待下一个输入。
#3 [kaon 08-14 19:34]
定长header里把长度带上,让server自己算
#4 [clickto 08-14 21:40]
实际项目中的一个例子:(客户端发送)
QDataStream writer(d->socket);
writer.setVersion(QDataStream::Qt_5_9);
writer
#5 [tanyue.esec 08-15 15:59]
唉,服务端是用C#写好的,动不了了。

回复 发表
主题 版块