WebSocket

WebSocket,它是HTML5的新API。WebSocket连接本质上就是建立一个TCP连接,WebSocket会通过HTTP请求建立,建立后的WebSocket会在客户端和服务端建立一个持久的连接,直到有一方主动关闭该连接。

socket.io提供了基于事件的实时双向(工)通讯,它同时提供了服务端和客户端的API

运用场景
1、实时分析:将数据推送到客户端,客户端表现为实时计数器、图表、日志客户。
2、实时通讯:聊天应用
3、二进制流传输:socket.io支持任何形式的二进制文件传输,例如图片、视频、音频等。
4、文档合并:允许多个用户同时编辑一个文档,并能够看到每个用户做出的修改

第一步: 下载依赖

npm install -D koa koa-static socket.io

第二步:创建应用程序及挂载静态资源处理中间件

const Koa = require('koa');
const koaStatic = require('koa-static');
const app = new Koa();

app.use(koaStatic('./static'));

第三步:将应用程序服务于socket.io连接

app.callback(): 返回适用于 http.createServer() 方法的回调函数来处理请求
http.Server: http.Server 类

const server = require('http').Server(app.callback());
server.listen(3000, () => {console.log(1)})

// 连接
const io = require('socket.io')(server);

第四步:io监听连接连接状态
监听连接,返回的回调函数中接收socket的实例

// 监听连接
io.on('connect', (socket) => {
    console.log('连接');
    // 监听信号(xinhao)
    socket.on('xinhao', (msg) => {
        console.log(msg);
        // 回复信号
        socket.emit('xinhao2', '第二个信号');
    });
});

客户端

let socket = io();
// 发送信号: 信号标识符   信息
socket.emit('xinhao','这是第一个信号');
// 监听信号,xihao2, 回调函数里:接收: 信息
socket.on('xinhao2', (msg) => {
    let p = document.createElement('p');
    p.innerHTML = msg;
    content.appendChild(p);
});
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 原文地址:http://www.ibm.com/developerworks/cn/java/j-lo-WebSo...
    敢梦敢当阅读 9,043评论 0 50
  • WebSocket 机制 WebSocket 是 HTML5 一种新的协议。它实现了浏览器与服务器全双工通信,能更...
    勇敢的_心_阅读 2,399评论 0 4
  • WebSocket简介 谈到Web实时推送,就不得不说WebSocket。在WebSocket出现之前,很多网站为...
    吧啦啦小汤圆阅读 8,365评论 15 75
  • 什么是WebSocket呢? WebSocket是HTML5新增的一种通信协议,目标主流的浏览器都支持这个协议,比...
    JunChow520阅读 7,541评论 1 5
  • 在昨天课后问题中筛选出的几家公司中,哪家公司是周期股呢? A、鱼跃医疗 B、金正大 C、正泰电器 说出你的理由 答...
    二分之一年阅读 520评论 0 0

友情链接更多精彩内容