一:WebSocket :
WebSocket 是基于 TCP 的一种新的网络协议。它实现了浏览器与服务器全双工通信——浏览器和服务器只需要完成一次握手,两者之间就可以创建持久性的连接, 并进行双向数据传输。


HTTP协议和WebSocket协议对比:
- HTTP是短连接 WebSocket是长连接
- HTTP通信是单向的,基于请求响应模式
- WebSocket支持双向通信
- HTTP和WebSocket底层都是TCP连接
应用场景:
- 视频弹幕
- 网页聊天
- 体育实况更新
- 股票基金报价实时更新
二: WebSocket的使用步骤(入门小程序):
- 1:先准备一个html页面
- websocket是一个客户端和服务端前后交互的页面,所以要编写入门小程序肯定要有一个前端。
- 2:导入maven坐标
- 3:编写WebSocketServer类
- 这有点像我们处理http请求时候编写的Controll类
- 4:导入配置类WebSocketConfiguration,注册WebSocket的服务端组件
- 5:导入定时任务类WebSocketTask,定时向客户端推送数据(这是一个测试方法)
前端页面代码:
<!DOCTYPE HTML>
<html>
<head>
<meta charset="UTF-8">
<title>WebSocket Demo</title>
</head>
<body>
<input id="text" type="text" />
<button onclick="send()">发送消息</button>
<button onclick="closeWebSocket()">关闭连接</button>
<div id="message">
</div>
</body>
<script type="text/javascript">
var websocket = null;
var clientId = Math.random().toString(36).substr(2);
//判断当前浏览器是否支持WebSocket
if('WebSocket' in window){
//连接WebSocket节点
websocket = new WebSocket("ws://localhost:8080/ws/"+clientId);
}
else{
alert('Not support websocket')
}
//连接发生错误的回调方法
websocket.onerror = function(){
setMessageInnerHTML("error");
};
//连接成功建立的回调方法
websocket.onopen = function(){
setMessageInnerHTML("连接成功");
}
//接收到消息的回调方法
websocket.onmessage = function(event){
setMessageInnerHTML


1334

被折叠的 条评论
为什么被折叠?



