码迷,mamicode.com
首页 > Web开发 > 详细

websocket

时间:2017-07-09 23:58:46      阅读:420      评论:0      收藏:0      [点我收藏+]

标签:console   const   question   host   new   closed   library   div   安装   

什么是websocket?

不错的介绍:https://www.zhihu.com/question/20215561

websocket是一种持久化的协议,实现了浏览器和服务端的全双工通信;

握手阶段与HTTP协议相同,返回状态码101(switching protocols);

握手阶段完成之后,按照websocket协议进行通信

 

应用场景:

浏览器与服务端需要实时通信的场景,以前的解决方式:ajax轮询、HTTP长连接、Flash等。

 

实现:

浏览器端

const ws = new WebSocket(‘ws://localhost:8080‘);

ws.onopen = function (evt) {
    console.log(‘connection open...‘);
    ws.send(‘hello websocket‘);
}

ws.onmessage = function (evt) {
    console.log(‘frontend received: ‘ + evt.data);
}

ws.onclose = function (evt) {
    console.log(‘connection closed...‘);
}

 

技术分享

 

node端

首先需要安装library:

  • ws
  • websocket-node
  • socket.io
  • engine.io
  • sockjs 

 以ws为例:

const WebSocket = require(‘ws‘);

const ws = new WebSocket.Server({port: 8080});

ws.on(‘connection‘, function (ws) {
    ws.on(‘message‘, function (msg) {
        console.log(‘backend received: ‘+ msg);
    })

    ws.send(‘something‘);

})

 

websocket

标签:console   const   question   host   new   closed   library   div   安装   

原文地址:http://www.cnblogs.com/zmiaozzz/p/7143602.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!