websocket发送图片,websocket发送图片netty

http://www.itjxue.com  2023-01-08 12:46  来源:未知  点击次数: 

关于websocket发送图片

发送图片有两种方法:1.json传送,2.base64传送

json传送:

base64传送

这两种方法都可以传送图片,那么有什么区别呢?通俗来说,json是一种比较“败家”的行为,传json开销比较大,因为在嵌入式开发中,如果硬件资源比较有限,那么就容易出问题,相对比较来说,传送base64相对比较节约。但是json带来的开销也是有好处的,因为它可以传的东西太多了,比如json的key-value对用来传数组就很方便,(这个可以去看我的另一篇文章 ,里面有json格式传送数组)。

在嵌入式开发中,json可以使用在云端到前端中,但是在云端到边缘端中还是能省就省,如果有比json更节约资源的方式,那么还是第二考虑使用json的。

以上是我实际经验,如果有什么问题,欢迎联系我。

websocket 发送问题

使用websocket发数,有时候会发送失败。

错误信息为: java.lang.IllegalStateException: The remote endpoint was in state [TEXT_FULL_WRITING] which is an invalid state for called method

问题原因: 同一个时刻,多个线程向同一个socket写数据冲突了就会报此异常信息。

解决办法: 给session加锁

websocket api 参考

websocket——通信梳理(短轮询、长轮询、socket、websocket、socket.io)

短轮询polling

1、由客户端定时向服务器发送请求,服务器返回数据。

2、缺点:必须由客户端发起请求,服务器才能向客户端返回数据,服务端无法自主向客户端发送数据;由于客户端必须定时发送请求,可能导致数据延迟,带宽消耗。

长轮询long polling

1、由客户端定时向服务器发送请求,服务器有数据更新时才返回客户端。

2、缺点:必须由客户端发起请求,服务器才能向客户端返回数据,服务端无法自主向客户端发送数据;由于客户端必须定时发送请求,可能导致数据延迟,带宽消耗。

socket

1、客户端通过http向服务端发起第一次握手,握手成功后将由ws、wss替代后续的请求;第一次握手成功后,客户端即与服务端维持一个长连接:服务端可自主向客户端发送数据,用户手动关闭socket连接即可断开。

2、缺点:socket只可发送文本信息,而通常通信中需要用到二进制信息

websocket

1、客户端通过http向服务端发起第一次握手,握手成功后将由ws、wss替代后续的请求;第一次握手成功后,客户端即与服务端维持一个长连接:服务端可自主向客户端发送数据,用户手动关闭socket连接即可断开。websocket可发送图片等二进制信息

socket.io

1、基于node

图片文本视频等等通过什么网页实现传输与显示

websocket。

整个流程比较简单,但是实现起来却比较难。这里选择实现技术很重要,先按照一般思路,app像服务器发送数据,通过http协议不断的向服务器发送数据,网页端不断的通过http向服务器请求数据,这时候你会发现app要实时发送数据通过http很耗资源甚至是几乎做不到,

app每个几秒要向服务器发送运动数据,还有心电图实时显示通过http是做不到的,网页也是一样,这时遇到瓶颈,这种需要应该很常用,向app上很常用的消息推送、在线下线通知,他们的实现方式也肯定不是发生http请求,这时这个全新的问题摆在自己面前,该如何解决?查资料,然后会发现一个专门针对这种场景的技术,叫websocket。

有了socket为什么还要websocket?

在同一个软件当中,通常使用了soCKet之后就不需要再使用weBSoCKet,因为它们两者起到的作用是一样的。

(责任编辑:IT教学网)

更多

推荐Flash实例教程文章