【问题标题】:Why my websocket connection is getting closed when I receive big json messages?为什么当我收到大的 json 消息时我的 websocket 连接会关闭?
【发布时间】:2014-09-04 13:03:16
【问题描述】:

我正在使用来自 websocket4net 的 web-socket 开发一个 windows phone 8 应用程序。我发送了一条 json 消息,然后我收到了一条消息,其中包含来自服务的对象列表。当此列表更大时(它包含更多对象,因此长度更大 - 超过 18157 个字符)我收到消息的前 18157 个字符并且连接关闭。当然,json 消息由于其不完整而无效。

我很确定大消息是问题所在。我尝试发送其他 json 并且它发送回另一条消息,这也是一条大消息。同样的问题 - 我收到一条不完整的消息并且连接被关闭。

您知道我应该怎么做才能收到完整的消息,并保持连接保持打开状态。服务的开发者说他的服务运行良好。

提前谢谢你:)

【问题讨论】:

  • 已解决! 我终于说服了 websocket(用 node.js 编写)的开发人员使用另一个 websocket 库,现在它可以在不中断消息的情况下工作。 websocket4net 库在 windows phone 8 上运行良好

标签: json windows-phone-8 websocket websocket4net


【解决方案1】:

Web 套接字比 json 文本更有效地处理二进制数据,所以如果您将数组作为二进制发送它可能会有所帮助,有时我也会先发送一条 json 消息,告诉接收器我正在发送多少离散消息,以便接收器知道它何时有收到所有消息然后你可以将怪物 json 切成标签块

【讨论】:

  • 就是这样!太感谢了!二进制数据可能会出现兼容性问题。该 websocket 是用 javascript 编写的,它将被各种平台使用,如 windows phone、android、iOS ......也许更多。但我会和我的同事讨论发送数据,最终标记为“chunck”和订单号,以在本地重建怪物消息。
猜你喜欢
  • 1970-01-01
  • 2011-01-20
  • 1970-01-01
  • 1970-01-01
  • 2019-08-11
  • 1970-01-01
  • 1970-01-01
  • 2015-01-25
  • 1970-01-01
相关资源
最近更新 更多