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)
}

最新文章

  1. 手动安装Oracle的Maven依赖
  2. [Asp.net 5] Localization-简单易用的本地化-全球化信息
  3. [Ubuntu] Linux下使用google app engine,无法打开https网站的解决方法
  4. Adobe Edge Animate –使用css制作菜单
  5. java去掉List中的重复值代码
  6. [Mime] MediaTypes--电子邮件类型类 (转载)
  7. 理解RESTful架构(转)
  8. JDK7动态代理源码分析
  9. 【转】idea设置JVM运行参数
  10. eclipse常用快捷键和插件
  11. GitHub Git 简单操作
  12. JS中对象与数组(大括号{}与中括号[])
  13. 总线读写---verilog代码
  14. c#中的数据类型简介(委托)
  15. K:顺序表和链表的比较
  16. RDB
  17. TCP连接 断开
  18. MTK平台环境搭建---Ubuntu Linux 下执行sudo apt-get install提示“现在没有可用的软件包……
  19. MyEclipse导入JAVA工程显示红色叉叉的解决方法
  20. POJ-2377 Bad Cowtractors---最大生成树

热门文章

  1. android Fragment 笔记
  2. matlab中常用见的小知识点
  3. e621. Activating a Keystroke When Any Child Component Has Focus
  4. e557. 在Applet中显示图片
  5. 10个开发中常用的PHP代码样例
  6. c++ timeval
  7. Case用法
  8. 第六章 mybatis注入映射器
  9. 一、SDWebImage分析--库处理流程分析
  10. hdu 4849 最短路 西安邀请赛 Wow! Such City!