这篇文章将为大家详细讲解有关h5中的Websocket怎么用,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
WebSocket
的服务端和客户端可以双向进行通讯,并且允许跨域通讯。由HTTP/1.1
的Upgrade
机制支持,通过ws
(非加密)或wss
(加密)协议进行通讯
WebSocket WebSocket(
in DOMString url,
in optional DOMString protocols
);
WebSocket WebSocket(
in DOMString url,
in optional DOMString[] protocols
);
HTML5
只专注于客户端的API
, 而服务器端是各个语言自己去实现
// 创建一个Socket实例
var socket = new WebSocket('ws://localhost:8080');
// 打开Socket
socket.onopen = function(event){
// 发送一个初始化消息
socket.send('I am the client and I\'m listening!');
// 监听消息
socket.onmessage = function(event){
console.log('Client received a message',event);
};
// 监听Socket的关闭
socket.onclose = function(event){
console.log('Client notified socket has closed',event);
};
// 关闭Socket....
//socket.close()
};
事件onclose
onerror
onmessage
onopen
属性
readyState
: CONNECTING 0
OPEN 1
CLOSING 2
CLOSED 3
binaryType
: String
Blob
ArrayBuffer
方法1:
如果客户端不支持WebSocket
, 那么可以使用几个候选选项 Flash Socket
AJAX long-polling
AJAX multipart streaming
IFrame
JSONP polling
方法2
使用Socket.io
来抹平差异,该库可以在浏览器不支持WebSocket
的时候, 自动用浏览器支持的消息推送方式进行连接, 该库还会检测连接是否掉线,并在掉线时自动为你重新连接。
// 创建Socket.IO实例,建立连接
var socket= new io.Socket('localhost',{
port: 8080,
});
socket.connect();
// 添加一个连接监听器
socket.on('connect',function(){
console.log('Client has connected to the server!');
});
// 添加一个连接监听器
socket.on('message',function(data){
console.log('Received a message from the server!',data);
});
// 添加一个关闭连接的监听器
socket.on('disconnect',function(){
console.log('The client has disconnected!');
});
// 通过Socket发送一条消息到服务器
function sendMessageToServer(message){
socket.send(message);
}
实时双向通信
浏览器本地支持良好(兼容性可以用第三方库很好解决)
支持自定义协议
聊天室
服务器消息推送
前后端实时系统
关于“h5中的Websocket怎么用”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。