socket安装

socket.io库

Socket.lO是一个库,可用于在浏览器和服务器之间进行实时,双向和基于事件的通信。它包括

  • 使Node.js服务器
  • 为浏览器(可从Node.js的也运行)一个JavaScript客户端库

主要特点是:

可靠性

即使存在以下情况,也会建立连接:

  • 代理和负载平衡器。
  • 个人防火墙和防病毒软件。

为此,它依赖于Engine.lO,该引氅首先建立长轮询连接,然后尝试升级到在侧面进行“测试"的更好传输,例如WebSocket。请参阅”目标"部分以获取更多信息。
*既能兼容老版本得浏览器,又能兼容新的websocket

自动重新连接支持

除非另有指示,否则断开连接的客户端将尝试永久重新连接,直到服务器再次可用为止。请在此处查看可用的重新连接选项。

二进制支持

可以发出任何可序列化的数据结构,包括:

  • 浏览器中的ArrayBuffer和Blob
  • Node.js中的ArrayBuffer和Buffer

多路传输支持

为了在应用程序内创建关注点分离(例如,每个模块或基于权限),Socket.lO允许您创建多个Namespaces,它们将充当单独的通信通道,但将共享相同的基础连接。

断线检测

心跳机制在Engine.lO级别上实现,使服务器和客户端都可以知道对方何时不再响应。
通过在服务器和客户端上设置计时器,并在连接握手期间共享超时值(pingInterval和pingTimeout参数),可以实现该功能。这些计时器要求将任何后续客户端调用都定向到同一服务器,因此使用多个节点时需要执行粘性会话。

客房支援

在每个Namespace中,您可以定义套接字可以加入和离开的任意通道,称为Rooms。然后,您可以广播到任何给定的房间,到达已加入该房间的每个插槽。
这是有用的功能,用于向一组用户或连接到多个设备的给定用户发送通知。这些功能附带一个简单便捷的API,如下所示:

io.on ( 'connection', function (socket) {
socket.emit ( 'request',/* */) ;//向套接字发出事件
io.emit ( 'broadcast',/* */);//向所有连接的套接字发出事件socket.on ( 'reply',function() {/* */});//监听事件
});

什么不是Socket.lO

Socket.lO 不是WebSocket实现。尽管Socket.lO确实确实在可能的情况下使用WebSocket作为传输工具,但它会向每个数据包添加一些元数据:当需要消息确认时,数据包类型,名称空间和数据包ID。这就是为什么
WebSocket客户端将无法成功连接到Socket.IO服务器,而Socket.lO客户端也将无法连接到WebSocket服务器的原因。请在此处查看协议规范。

//警告:客户端将无法连接!
const client = io ('ws: / / echo.websocket.org') ;

安装socket

服务器端:

npm install --save socket.io

客户端:

npm install-save socket.io-client

直接引入
https://github.com/socketio/socket.io-client/tree/master/dist
单击socket.io.js
在这里插入图片描述
压缩后的
在这里插入图片描述

客户端(index.html)

<script src=" /socket.io/socket.io.js"></script>
<script>
var socket = io(http: / / localhost ');
socket.on ( 'news " , function (data) {
	console.log(data);
	socket.emit( 'my other event " , { my: "data" });
	});
</script>
  • 4
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值