| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 |
- var login = require('./scripts/login');
- var match = require('./scripts/match');
- var room = require('./scripts/room');
- var close = require('./scripts/close');
- var lib = require('./scripts/lib');
- //所有用户,必须用全局global安装,这样保证每一个线程都能访问到相同的全局数组
- global.players_map = [];
- global.wait_rooms_map = [];
- global.inGame_rooms_map = [];
- let ws = require("nodejs-websocket");
- // 创建服务器
- // let server = ws.createServer(function (connect)
- ws.createServer(function (connect)
- {
- // 监听客户端回调信息
- connect.on("text", function (data) {
- // console.log('data=',data)
- let data_json = JSON.parse(data);
- //用户登录
- if (data_json.type === 'login') {
- console.log(data_json.openid + '进入大厅');
- login.on(connect,data_json.openid,data_json.name,data_json.avatarUrl,data_json.gender);
- }
- else if (data_json.type === 'match') {
- console.log(data_json.openid + '正在匹配..');
- if(data_json.gameMode === 'lockStep')
- {
- match.lockStep(data_json.openid,data_json.gameMode);
- }
- }
- else if (data_json.type === 'lockStep') {
- console.log(data_json.openid + '发送消息:'+data_json.order);
- console.log('roomId:'+data_json.roomId);
- let room = global.inGame_rooms_map[data_json.roomId];
- room.pushOrder(data_json.openid,data_json.order);
- }
- });
- connect.on("close", function (code, reason) {
- // for(let key in global.players_map){
- // if(global.players_map[key].connect === connect)
- // {
- // console.log(key+'退出')
- // }
- // }
- // console.log('code='+code);
- close.on(connect,'退出');
- });
- connect.on("error", function (code, reason) {
- // for(let key in global.players_map){
- // if(global.players_map[key].connect === connect)
- // {
- // console.log(key+'异常退出')
- // }
- // }
- // console.log('code='+code);
- // close.on(connect,'异常退出');
- });
- }).listen(3000)
- console.log("WebSocket建立完毕")
|