美文网首页
iOS中WebSocket

iOS中WebSocket

作者: 傲骨天成科技 | 来源:发表于2020-09-09 19:50 被阅读0次

参考:https://www.jianshu.com/p/821b777555d3

Websocket不需要像TCP Socket那样进行逻辑数据包的拆包,封包和粘包

  RFC规范指出,WebSocket是一个message-based的协bai议,它可du以自动将数据分片zhi,并且自动将分片的数据组装。
  也就是说,WebSocket的RFC标准dao是不会产生粘包、半包问题的。无需应用层开发人员关心缓存以及手工组装message。
  然而理想与现实的不一致:RFC规范与实现的不一致,现实当中有几个问题:
  1. 每个message可以是一个或多个分片。message不记录长度,分片才记录长度。
  2. message最大的长度可以达到 9,223,372,036,854,775,807 字节,是由于Payload的数据长度有63bit的限制。
  3. 很多WebSocket的实现其实并不按照标准的RFC实现完全,很多仅仅实现了50%就拿来用了。
  这就导致了,在WebSocket实现上的最大长度很难达到这个大小,于是,很多API的实现上是会有限制的,可能会限制你的发送的长度,也可能会把过长的数据直接以流式发送。
  结论
  WebSocket的RFC标准是不会产生粘包、半包问题的,但是由于现实世界的WebSocket的实现者不同程度的偷懒,不同程度的会有这个问题,特别是当你的数据message特别大的时候(到底是多大是特别大,由具体实现决定)。
  尽可能的选择一个符合自己项目的WebSocket实现,或者自己造一个满足需要的轮子。
  也或者,把WebSocket看做一个有特别大的长度限制“流”协议,然后自己处理buffering的问题

使用基于webSocket封装的SocketRocket这个库
使用pod 'SocketRocket'加入

相关文章

  • iOS中WebSocket

    参考:https://www.jianshu.com/p/821b777555d3 Websocket不需要像TC...

  • iOS中WebSocket的使用

    简介 HTTP协议是无状态的协议,采用的是请求/应答的模式,所以只能是客户端发送请求,服务器响应请求,服务器是无法...

  • IDEA Maven搭建WebSocket与iOS端的简单实现

    IDEA Maven搭建WebSocket与iOS端的简单实现 本人Java新手,学习过程中尝试Java与移动端的...

  • 关于websocket的一些内容

    关于websocket的一些内容 自己搜索使用过的一些资料,仅供参考。 iOS 接入websocket - dre...

  • WebSocket 入门demo 即时通讯 socketio

    iOS Client ****与WebSocket 通信 入门demo 即时通讯 socketio https:/...

  • Websocket相关知识整理

    Websocket 协议格式说明 最近整理项目中关于websocket中的部分,由于之前代码中websocket的...

  • WebSocket - iOS

    开发中要使用WebSocket,做到实时监控消息,需要用的技术是websocket。 Swift-WebSocke...

  • iOS webSocket

    写文章的意思是什么 这篇会抽空写完

  • Weex踩坑之iOS webSocket

    既然是踩坑,那就直接切入主题。 Weex官网中的webSocket,这里说iOS和h5提供 WebSockets ...

  • webSocket

    一. 使用 废话不多说,笔者在这里主要告诉大家在iOS中怎么使用webSocket,如果感觉可以的话,请点个赞...

网友评论

      本文标题:iOS中WebSocket

      本文链接:https://www.haomeiwen.com/subject/uaoeektx.html