071期分布式面试题六WebSocket

2020-09-01 17:39 Java最全面试题库

  点击上方蓝色字体,关注我吧

2020年百日百更原创Java最全面试题库之往期回顾

【000期】Java最全面试题库思维导图

【020期】JavaSE系列面试题汇总(共18篇)

【028期】JavaWeb系列面试题汇总(共10篇)

【042期】JavaEE系列面试题汇总(共13篇)

【049期】数据库系列面试题汇总(共6篇)

【053期】中间件系列面试题汇总(共3篇)

【065期】数据结构与算法面试题汇总(共11篇)

【066期】分布式面试题(一):分布式锁

【067期】分布式面试题(二):分布式Redis

【068期】分布式面试题(三):分布式memcached

【069期】分布式面试题(四):Nginx(1)

【070期】分布式面试题(五):Nginx(2)


开篇介绍

大家好,我是Java最全面试题库提裤姐,今天这篇是分布式技术的第六篇,主要总结了WebSocket相关的问题;在后续,会沿着第一篇开篇的知识线路一直总结下去,做到日更!如果我能做到百日百更,希望你也可以跟着百日百刷,一百天养成一个好习惯。


Q:

什么是websocket?

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


Q:

全双工通讯协议的概念

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

  • 全双工:例如我们使用的手机就是全双工,在同一时刻两个用户可以同时给对方传送数据

  • 半双工:例如我们使用的对讲机,当A方按住通话按钮才可以向B方传送数据,B方也是,在同一时刻只有一个用户能够传送数据(A/用户都可以传递信息,但是不能够同时传递)

  • 单工:例如我们看电视时,我们只能接收对方发送的信息,不能够给对方传递信息;


Q:

websocket有哪些特点?

  • 与http协议有良好的兼容性;

  • 建立在TCP协议之上,和http协议同属于应用层;

  • 数据格式比较轻量,性能开销小,通信高效;

  • 可以发送文本,也可以发送二进制;

  • 没有同源限制,可以与任意服务器通信。


Q:

http和websocket的区别?

http协议是短链接,因为请求之后,都会关闭连接,下次请求需要重新打开链接。

websocket协议是一种长连接,只需要通过一次请求来初始化连接,然后所有请求和响应都是通过TCP链接进行通信。


Q:

websocket和socket的区别?

socket是应用层与TCP/IP协议通信的中间软件抽象层,它是一组接口。

而websocket协议是一个完整的应用层协议,拥有一套完整的API。


Q:

WebSocket中的常用注解有哪些?

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

Q:

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

1、AJAX轮询

2、Long Polling长轮询

3、WebSocket


Q:

websocket客户端代码?

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


Q:

websocket应用场景?

1、社交订阅

2、多玩家游戏

3、协同编辑文档

4、数据流状态

5、多人聊天








“一个专注于分享各类Java面试题的号主,长按二维码关注我吧 ”

祝大家都能拿到心仪的offer!







长按识别二维码

等风也等你



文章都看完了不点个 吗

本文章转载自公众号:tikujie

首页 - Java 相关的更多文章: