关于java:持续输出面试题之WebSocket

4次阅读

共计 1152 个字符,预计需要花费 3 分钟才能阅读完成。

开篇介绍

大家好,我是 Java 最全面试题库 的提裤姐,明天这篇是分布式技术的第五篇,次要介绍 WebSocket;在后续,会沿着第一篇开篇的常识线路始终总结上来,做到日更!如果我能做到百日百更,心愿你也能够跟着百日百刷,一百天养成一个好习惯。

什么是 websocket?

websocket 是 HTML5 的一种新协定,容许服务器向客户端传递信息,实现浏览器和客户端双工通信。

全双工通信协定的概念

全双工是通信传输的一个术语。通信容许数据在两个方向上同时传输,他在能力上相当于两个单工通信形式的联合。全双工指能够同时进行信号的双向传输。

  • 全双工:例如咱们应用的手机就是全双工,在同一时刻两个用户能够同时给对方传送数据
  • 半双工:例如咱们应用的对讲机,当 A 方按住通话按钮才能够向 B 方传送数据,B 方也是,在同一时刻只有一个用户可能传送数据(A/ 用户都能够传递信息,然而不可能同时传递)
  • 单工:例如咱们看电视时,咱们只能接管对方发送的信息,不可能给对方传递信息;

websocket 有哪些特点?

  • 与 http 协定有良好的兼容性;
  • 建设在 TCP 协定之上,和 http 协定同属于应用层;
  • 数据格式比拟轻量,性能开销小,通信高效;
  • 能够发送文本,也能够发送二进制;
  • 没有同源限度,能够与任意服务器通信。

http 和 websocket 的区别?

http 协定是短链接,因为申请之后,都会敞开连贯,下次申请须要从新关上链接。
websocket 协定是一种长连贯,只须要通过一次申请来初始化连贯,而后所有申请和响应都是通过 TCP 链接进行通信。

websocket 和 socket 的区别?

socket 是应用层与 TCP/IP 协定通信的两头软件形象层,它是一组接口。而 websocket 协定是一个残缺的应用层协定,领有一套残缺的 API。

WebSocket 中的罕用注解有哪些?

@ServerEndpoint:相似与 servlet 中的 RequestMapping
@OnOpen:相似与 servlet 中的 init()初始化
@OnClose:相似与 servlet 中的destroy() 销毁
@OnMessage:相似于 servlet 中的service 申请(意思就是发送数据的形式 @doPost() / @doGet() 组合)

服务端实时通信有哪些办法?

1、AJAX 轮询
2、Long Polling 长轮询
3、WebSocket

websocket 客户端代码?

// 创立一个 webSocket 对象
const ws = new WebSocket("ws://127.0.0.1:3000/websocket/test")
ws.onopen = e => {
  // 连贯后监听
  console.log("创立了 websocket")
}

websocket 利用场景?

1、社交订阅
2、多玩家游戏
3、协同编辑文档
4、数据流状态
5、多人聊天

正文完
 0