Open 499689317 opened 6 years ago
// 服务端 var ws = require("ws"); (function() { var webSocket = new ws.Server({port: 8084 }); webSocket.on("connection", function(socket) { socket.on("message", function(msg) { console.log(msg); socket.send("123"); }); // 断开连接 socket.on('close', function(err) { console.error(err); }); }); })(); // 客户端 var ws = require('ws'); var url = "ws://192.168.2.41:8084"; var util = require('./util'); var MF = require('../../common/lib/mf'); var robotConfig = require('../robotConfig').robotConfig; (function() { var ids = [/*玩家id集合*/]; for (var i = util.CONST.MIN; i < util.CONST.MAX; i++) { ids.push(robotConfig.serverId + util.CONST.USERID + i); }; console.log("开始登录聊天服"); var sockets = {}; (function init() { var id = ids.pop(); sockets[id] = createConn(id, function(err, msg) { if (ids.length) { init(); } else { // 监听数据 if (err) {return;} if (msg.packName == "login") { return; }; // if (count >= util.CONST.MAX) { // console.log(Object.keys(sockets) ); // }; // var id = MF.Crypto.Decrypt(msg.playerId); // console.log(id); } }); })(); })(); function createConn(id, cb) { if (!id) { console.log("id为空"); return; }; console.log(id + "登录聊天服务器"); var socket = new ws(url); socket.on('open', function() { socket.send(JSON.stringify({userId: id, packName: "login"}) ); }); socket.on("message", function(data) { cb && cb(null, JSON.parse(data)); }); socket.on("error", function(err) { console.log(err); cb && cb(err); }); socket.on("timeout", function(err) { console.log(err); cb && cb(err); }, 5000); return socket; };