首页 > 代码库 > 平安游戏《超级大小王》

平安游戏《超级大小王》

游戏链接: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 = http://www.mamicode.com/data || {};>

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

 

接收数据

//接收命令
_router:function(){
	var self = this;
	// 通过 router 模块,监听服务器返回的数据
	self._socket.on(‘router‘, function(data) {
		data = http://www.mamicode.com/Base64.decode(data);>

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

 

  

  

  

 

平安游戏《超级大小王》