HTML5中的websocket

websocket

WebSocket 协议是基于TCP的一种新的网络协议。它实现了浏览器与服务器全双工(full-duplex)通信—―允许服务器主动发送信息给客户端。
websocket是一种持久协议, http是非持久协议。

现在很多网站都有实时推送的需求,比如聊天,客服咨询等。

早期没有websocket时,通过ajax轮询,由于http请求,服务器无法给浏览器主动发送数据,因此需要浏览器定时的给服务器发送请求(比如1s一次),服务器把最新的数据响应给浏览器。这种模式的缺点就是浪费性能和资源。
在这里插入图片描述

websocket 是一种网络协议,允许客户端和服务端全双工的进行网络通讯,服务器可以给客户端发消息,客户瑞也可以给服务器发消息。

websocket基本使用

HTML5中,浏览器已经实现了 websocket 的 API,直接使用即可。

WebSocket-MDN

创建websocket对象

// 参数1: ur1:连接的websocket属性
// 参数2: protocol,可选的,指定连接的协议
// var socket = new websocket('ws: //echo.websocket.org')
var socket = new Websocket(url,[protocol]);

在这里插入图片描述

// 演示 websocket 在浏览器端如何使用
// H5 已经直接提供了websocket的 API,所以我们可以直接去使用
// 1. 创websocket
// 参数1: websocket 的服务地址
var socket = new webSocket('ws://echo.websocket.org')
// 2. open:当利websocket报务连接成功的时候触发
socket.addEventListener('open', function() {
	div.innerHTML ='连接服务成功了'
})
// 3. 主动的给websocket服务发送消息
button.addEventListener('click', function() {
	var value = input.value
	socket.send(value)
})
// 4. 接收websocket服务的数据
socket.addEventListener('message', function(e) {
	console.log(e.data)
	div.innerHTML = e.data
})
socket.addEventListener('close', function() {
	div.innerHTML ='服务断开连接'
})
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
HTML5 WebSocket是一种在Web浏览器和服务器之间实现全双工通信的技术。它允许浏览器通过单个TCP连接与服务器进行实时的、双向的通信。相较于传统的HTTP请求-响应模型,WebSocket提供了更灵活和高效的通信方式,适用于实时聊天、实时数据更新和多人在线游戏等应用场景。 使用WebSocket,浏览器可以通过JavaScript创建WebSocket对象,并建立与服务器之间的连接。一旦连接建立成功,浏览器和服务器之间就可以通过发送消息进行实时的双向通信。 以下是一个简单的使用HTML5 WebSocket的示例: ```javascript // 创建WebSocket对象 var socket = new WebSocket("ws://example.com/socket"); // 连接建立成功的回调函数 socket.onopen = function() { console.log("WebSocket连接已建立"); // 发送消息 socket.send("Hello, server!"); }; // 收到消息的回调函数 socket.onmessage = function(event) { console.log("收到消息:" + event.data); // 关闭连接 socket.close(); }; // 连接关闭的回调函数 socket.onclose = function(event) { console.log("WebSocket连接已关闭,关闭代码:" + event.code); }; // 发生错误的回调函数 socket.onerror = function(error) { console.error("WebSocket发生错误:" + error); }; ``` 在上面的示例,我们通过创建一个WebSocket对象,并传入服务器的地址来建立连接。然后,我们可以通过WebSocket对象的`send`方法发送消息,通过`onmessage`回调函数接收服务器发送的消息,通过`close`方法关闭连接。 需要注意的是,为了使用WebSocket,服务器端也需要支持WebSocket协议。在服务器端,你可以使用各种编程语言和框架来实现WebSocket服务器。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值