【node】------websocket------【巷子】
2024-10-16 03:50:23
001、学习地址
https://github.com/websockets/ws
002、server.js
//引入ws第三方模块
const WebSocket = require('ws'); //创建服务器
const server= new WebSocket.Server({ port: 9000 }); //定义一个数组将所有的用户存入数据
let clients = []; server.on('connection',(client)=> {
//给每一个用户设定一个id
client.id = clients.length //将用户存入数组中
clients.push(client); //当服务器接受到客户端传递的数据后发送给每一个用户
client.on('message', (data)=> {
for(var i=0;i<clients.length;i++){
if(clients[i]){
clients[i].send(data);
}
}
}) //当用户断开连接的时候
client.on("close",()=>{
clients[client.id] = null;
}) //当连接错误的时候
client.on("error",()=>{
clients[client.id] = null;
})
});
003、client.html
//1、连接服务端
var client = new WebSocket("ws://127.0.0.1:9000"); //2、客户端接受服务端信息
client.onmessage = function(e){
console.log(e)
} //客户端向服务端传递数据 function sendDate(val){
client.send(val)
}
最新文章
- 手动安装Oracle的Maven依赖
- [Asp.net 5] Localization-简单易用的本地化-全球化信息
- [Ubuntu] Linux下使用google app engine,无法打开https网站的解决方法
- Adobe Edge Animate –使用css制作菜单
- java去掉List中的重复值代码
- [Mime] MediaTypes--电子邮件类型类 (转载)
- 理解RESTful架构(转)
- JDK7动态代理源码分析
- 【转】idea设置JVM运行参数
- eclipse常用快捷键和插件
- GitHub Git 简单操作
- JS中对象与数组(大括号{}与中括号[])
- 总线读写---verilog代码
- c#中的数据类型简介(委托)
- K:顺序表和链表的比较
- RDB
- TCP连接 断开
- MTK平台环境搭建---Ubuntu Linux 下执行sudo apt-get install提示“现在没有可用的软件包……
- MyEclipse导入JAVA工程显示红色叉叉的解决方法
- POJ-2377 Bad Cowtractors---最大生成树