码迷,mamicode.com
首页 > 其他好文 > 详细

平安游戏《超级大小王》

时间:2017-04-14 14:32:55      阅读:291      评论:0      收藏:0      [点我收藏+]

标签:支持   strong   pre   ini   使用   activity   string   net   nec   

游戏链接:http://game.wanlitong.com/?act=game_daxiaowang

技术分享

 

一 socket通讯

1 游戏使用js原生开发。通讯使用socket.io。

2 游戏html页面定义通讯地址和token

 // socket 连接的地址
 GM.socketIoUrl_RJ = "https://activity.games.1768.com/";
 GM.token_RJ = "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1aWQiOiI3MjU5Njc1NiIsImV4cCI6MTQ5NDczMTg1N30.DuoBBaJeQBRpsLnYaTWEXLb1tgMAyCXh9yHgb4BkL9E";
 GM.gameType = "1"; // 判断是否 需要添加socket处理游戏
 // 是否需要socket 支持
 GM.needAddSocket = GM.userLogged && GM.gameType === ‘1‘;

3 游戏通用js文件

http://h2.jkimg.net/game/js/v2/common-game.js?v=201704121801

 

连接socket

init:function(){
// 连接至游戏服务器
try{
	this._socket = window.io.connect(GM.socketIoUrl_RJ);
	this._router()
		.emit({
		cmd: ‘act::init‘
	});
}catch(e){
	GM.log(‘socket connect error‘);
}
	return this;
}

 

发送数据

// 发送命令
emit: function(data){
	data = data || {};
	var dataDefault ={
		params:{
			gameId: GM.gameId,
			token: GM.token_RJ
		}
	}
	$.extend(true, data, dataDefault);  //深度拷贝,将data和dataDefault合并
	data = JSON.stringify(data);
	GM.log(‘推送:‘+ data);
	this._socket.emit( ‘router‘, Base64.encode(data) );
        return this;
}

数据格式JSON, 协议{gameId, token, 其他数据, ...},将json转成字符串,然后用Base64加密后发送

 

接收数据

//接收命令
_router:function(){
	var self = this;
	// 通过 router 模块,监听服务器返回的数据
	self._socket.on(‘router‘, function(data) {
		data = Base64.decode(data);
		GM.log(‘接收:‘+ data);
		GM.log(‘‘);
		data = JSON.parse(data);
		var cmd = data.cmd;
		var res = data.res;
		switch(cmd){
			case ‘act::init‘:
				self._hanleData(res);
				break;
			default:
				break;
		}
	})
	.on(‘connect_error‘, function(data){
		GM.log(‘connect_error‘);
	});
	return this;
}

将data字符串用Base64解密,再还原成JSON,根据cmd将数据返回数据res分发处理。

 

  

  

  

 

平安游戏《超级大小王》

标签:支持   strong   pre   ini   使用   activity   string   net   nec   

原文地址:http://www.cnblogs.com/gamedaybyday/p/6708456.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!