java websocket总结

时间:2025-08-26 19:48:01来源:互联网

下面小编就为大家分享一篇java websocket总结,具有很好的参考价值,希望对大家有所帮助。

简介

  • WebSocket是一种在单个TCP连接上进行全双工通信的协议。通过TCP来传输数据
  • 在WebSocket API中,浏览器和服务器只需要完成一次握手,两者之间就直接可以创建持久性的连接,并进行双向数据传输。
  • 在WebSocket应用程序中,服务器发布WebSocket端点,客户端使用url连接到服务器。建立连接后,服务器和客户端就可以互相发送消息。客户端通常连接到一台服务器,服务器接受多个客户端的连接。

 

双全工通信:双工(Full Duplex)是通讯传输的一个术语。通信允许数据在两个方向上同时传输,它在能力上相当于两个单工通信方式的结合。全双工指可以同时(瞬时)进行信号的双向传输(A→B且B→A)。

单工:就是在只允许甲方向乙方传送信息,而乙方不能向甲方传送 。

 

特点

  • webSocket的实例是多例的,客户端每创建一个连接,服务端就创建一个实例
  • 数据格式比较轻量,性能开销小,通信高效。
  • 可以发送文本,也可以发送二进制数据。
  • 协议标识符是ws(如果加密,则为wss)
  • 较少的控制开销。在连接创建后,服务器和客户端之间交换数据时,用于协议控制的数据包头部相对较小。在不包含扩展的情况下,对于服务器到客户端的内容,此头部大小只有2至10字节(和数据包长度有关);对于客户端到服务器的内容,此头部还需要加上额外的4字节的掩码。相对于HTTP请求每次都要携带完整的头部,此项开销显著减少了。
  • 延迟小,连接一旦建立每次的交互,不需要再建立连接而增加时间消耗

协议说明

WebSocket 是独立的、创建在 TCP 上的协议。

Websocket 通过HTTP/1.1 协议的101状态码进行握手。

握手:客户端与服务端建立连接的过程

 

与http相比较:

http1.1可以建立长连接,但有时间限制

http连接只能客户端发起请求,websocket双方都可以发起请求

 

本站部分内容转载自互联网,如果有网站内容侵犯了您的权益,可直接联系我们删除,感谢支持!