WebSocket学习笔记 -- 环境搭建1

简介: WebSocket学习笔记 -- 环境搭建1

一、安装NodeJS

官网下载,下载好后一路下一步

https://nodejs.org/en/

二、配置环境

1、新建一个node文件夹

2、新建一个JSON文件,名字为package.json,内容为

{
  "name": "socket",
  "version": "0.0.1",
  "description": "myproject",
  "dependencies": {},
  "devDependencies": {}
}

3、在node文件夹目录下打开cmd,安装两个组件net、ws

npm install net --save-dev
npm install ws --save-dev

4、新建一个SocketClient.js文件,内容为

var net = require('net');
var client = net.connect('9001','192.168.1.106',function(){
    console.log('已经与服务器连接');
    client.write('hello server');
});
client.on('data',function(data){
    console.log(data.toString());
    //client.end();
});
client.on('end',function(){
    console.log('服务端断开');
});

5、新建一个SocketServer.js文件,内容为

var net = require('net');
var chatServer = net.createServer(),
    clientList = [];
    clientMap = new Object();
var ii = 0;
chatServer.on('connection', function(client) {
    client.name = ++ii;
    clientMap[client.name] = client;
    //数据接收事件
    client.write('Hi client');
  client.on('data', function(data) {
      console.log('客户端传来:' + data);
      //client.write(data);
      broadcast(data, client);// 转发来自客户端的信息
  });
    //数据错误事件
    client.on('error',function(exception){
        console.log('client error:' + exception);
        client.end();
    });
    //客户端关闭事件
    client.on('close',function(data){
        delete clientMap[client.name];
        console.log(client.name +'下线了');
        broadcast(client.name +'下线了',client);
    });
});
function broadcast(message, client) {
    for(var key in clientMap){
        clientMap[key].write(client.name + 'say:' + message + '\n');
    }
};
chatServer.listen(9001, function(){
  var address = chatServer.address();
  console.log('服务已监听: %j', address);
});

6、新建一个WsServer.js文件,内容为:

var WebSocketServer = require('ws').Server;
var wss = new WebSocketServer({port: 9000});
var i = 0;
//var wsObj = {};
wss.on('connection', function(ws) {
    ws.name = ++i;
  //wsObj[ws.name] = ws;
    console.log(ws.name + '上线');
    ws.on('message', function(message) { 
        ws.send(message);
        console.log('received: '+ ws.name +'%j', message);
    });
    ws.send(ws.name + ', welcome');
    ws.on('close', function(){
        //global.gc();    //调用内存回收   
        console.log(ws.name + ', leave');
    });
});


相关文章
|
11月前
WebSocket学习笔记 -- 环境搭建2
WebSocket学习笔记 -- 环境搭建2
|
移动开发 网络协议 HTML5
慧安-WebSocket协议学习笔记
慧安-WebSocket协议学习笔记
78 0
|
消息中间件 JSON 前端开发
WebSocket |学习笔记
快速学习 WebSocket
153 0
WebSocket |学习笔记
|
XML 前端开发 JavaScript
SpringBoot 整合 WebSocket|学习笔记
快速学习 SpringBoot 整合 WebSocket
105 0
SpringBoot 整合 WebSocket|学习笔记
|
存储 Java
netty框架的学习笔记 + 一个netty实现websocket通信案例
一、前言 1.什么是netty? 2.netty的使用场景。 3.学习目录 二.java io通信 三.netty入门 四.websocket入门 五.netty实现websocket通信案例。 1.
262 0
|
移动开发 网络协议 前端开发
spring学习笔记(八)webSocket
spring学习笔记(八)webSocket
194 0
|
1月前
|
前端开发 网络协议 JavaScript
在Spring Boot中实现基于WebSocket的实时通信
在Spring Boot中实现基于WebSocket的实时通信
|
6天前
|
小程序 Java API
springboot 微信小程序整合websocket,实现发送提醒消息
springboot 微信小程序整合websocket,实现发送提醒消息
|
6天前
|
JavaScript 前端开发 网络协议
WebSocket在Java Spring Boot+Vue框架中实现消息推送功能
在现代Web应用中,实时消息提醒是一项非常重要的功能,能够极大地提升用户体验。WebSocket作为一种在单个TCP连接上进行全双工通信的协议,为实现实时消息提醒提供了高效且低延迟的解决方案。本文将详细介绍如何在Java Spring Boot后端和Vue前端框架中利用WebSocket实现消息提醒功能。
19 0