分布式服务器开发基础之~只用ws模块实现多个逻辑服务器与网关的通信

1)先看效果

分布式服务器开发基础之~只用ws模块实现多个逻辑服务器与网关的通信

2)客户端ws-client

var WebSocket = require("ws");

var client = new WebSocket("ws://127.0.0.1:3000");

client.binaryType = "arraybuffer"

client.onopen = function(){
    console.log("连接ws-server服务器成功");
    client.send("你好服务器");
}

client.onmessage = function(event){
    console.log("客户端收到服务器数据data=", event.data);
}

client.onclose = function(){
    console.log("客户端与服务器连接断开");
}

client.onerror = function(){
    console.log("客户端和服务器连接出现错误");
}

3)服务器ws-server

var ws = require("ws");
var server = new ws.Server({
    port: 3000
});

server.on("connection", function(client_socket){

    console.log("一个客户端come in");

    client_socket.send("你好,客户端");

    client_socket.on("close", function(){
        console.log("客户端断开连接");
    });

    client_socket.on("error", function(err){
        console.log("客户端发生错误err=", err);
    });

    client_socket.on("message", function(data){
        console.log("服务器收到客户端信息data=", data);
    });
});

console.log("ws-server启动成功");

总结:websocket也是基于tcp协议,这样websocket可以代替net模块用于  逻辑服务器与 网关之间连接,拆包和封包不用管了,很棒!!!