ZBLOG

websocket.sendTextMessage,发送大于50m的文件,postman接收不到

WebSocket的sendTextMessage方法适用于发送文本数据,不适合直接发送大文件。由于WebSocket协议本身对数据大小有一定的限制,超过一定大小的数据可能无法正常传输或被截断。

如果需要在WebSocket中传输大文件,建议将文件分块传输,并使用sendBinaryMessage方法发送二进制数据。这样可以更有效地处理大文件传输的问题。

另外,请确保Postman正确配置了接收WebSocket消息的设置。WebSocket消息并不是以HTTP方式进行传输和接收,因此需要使用专门支持WebSocket的工具或库来进行接收。

以下是一个示例代码,展示了如何使用Qt WebSocket分块发送大文件:

  1. // 发送端
  2. QFile file("path/to/large_file.bin");
  3. if (file.open(QIODevice::ReadOnly)) {
  4. const qint64 blockSize = 4096; // 每个块的大小
  5. while (!file.atEnd()) {
  6. QByteArray block = file.read(blockSize);
  7. webSocket.sendBinaryMessage(block);
  8. }
  9. file.close();
  10. }
  11. // 接收端
  12. void MyWebSocketClass::onBinaryMessageReceived(const QByteArray& message) {
  13. receivedData.append(message); // 将接收到的数据存储起来
  14. if (isCompleteFile(receivedData)) { // 判断是否接收完整文件
  15. saveToFile(receivedData);
  16. receivedData.clear(); // 清空缓存
  17. }
  18. }

请确保Postman已正确配置以接收WebSocket消息,并尝试使用其他工具或自行编写代码验证WebSocket消息是否能够正常接收。


内容由零声教学AI助手提供,问题来源于学员提问

本站部分文章来源于网络,版权归原作者所有,如有侵权请联系站长删除。
转载请注明出处:https://golang.0voice.com/?id=17826

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
游客 游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~

联系我们

在线咨询: 点击这里给我发消息

微信号:3007537140

上班时间: 10:30-22:30

关注我们
x

注册

已经有帐号?