148 lines
3.0 KiB
JavaScript
148 lines
3.0 KiB
JavaScript
///////////////////////////////////////////////////
|
|
///////////packet: 所有应用的总包接口类////////////
|
|
///////////////////////////////////////////////////
|
|
console.log(min_randomChar(32));
|
|
console.log(min_randomChar(32));
|
|
//应用类
|
|
min_loadJsFile("class/class.app.js", function(){
|
|
//模块类
|
|
min_loadJsFile("class/class.mod.js", function(){
|
|
//mysql类
|
|
min_loadJsFile("class/class.mysql.js", function(){
|
|
//单张牌类
|
|
min_loadJsFile("class/class.pai.js", function(){
|
|
//单局牌局类
|
|
min_loadJsFile("class/class.paiju.js", function(){
|
|
//应用列表
|
|
min_loadJsFile("applist.js", function(){
|
|
|
|
});
|
|
});
|
|
});
|
|
});
|
|
});
|
|
});
|
|
|
|
var packet_face = packet_face || {};
|
|
|
|
//应用列表
|
|
packet_face.applist = [];
|
|
//给tcp客户端主动发包函数
|
|
packet_face.SendPack_Tcp = null;
|
|
//给http客户端主动发包函数
|
|
packet_face.SendPack_Http = null;
|
|
|
|
//TCP客户端连接上
|
|
packet_face.OnTcpConnected = function(str_tcpid)
|
|
{
|
|
//通知所有应用
|
|
for (var i=0; i<packet_face.applist.length; i++)
|
|
{
|
|
if (packet_face.applist[i].OnTcpConnected)
|
|
{
|
|
packet_face.applist[i].OnTcpConnected(str_tcpid);
|
|
}
|
|
}
|
|
}
|
|
|
|
//TCP客户端断开
|
|
packet_face.OnTcpDisConnected = function(str_tcpid)
|
|
{
|
|
//通知所有应用
|
|
for (var i=0; i<packet_face.applist.length; i++)
|
|
{
|
|
if (packet_face.applist[i].OnTcpDisConnected)
|
|
{
|
|
packet_face.applist[i].OnTcpDisConnected(str_tcpid);
|
|
}
|
|
}
|
|
}
|
|
|
|
//收到客户端的数据包
|
|
packet_face.ReceivePack = function(pack)
|
|
{
|
|
if (typeof(pack) == "string")
|
|
{
|
|
pack = JSON.parse(pack); //转换json
|
|
}
|
|
|
|
//路由应用列表
|
|
for (var i=0; i<packet_face.applist.length; i++)
|
|
{
|
|
if (pack.app == packet_face.applist[i].appname)
|
|
{
|
|
if (packet_face.applist[i].ReceivePack)
|
|
{
|
|
return packet_face.applist[i].ReceivePack(pack);
|
|
}
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
|
|
//给客户端发包
|
|
packet_face.SendPack = function(pack, toids)
|
|
{
|
|
if (typeof(pack) == "string")
|
|
{
|
|
pack = JSON.parse(pack); //转换json
|
|
}
|
|
|
|
var repack = min_copyjson(pack);
|
|
delete repack.conmode;
|
|
delete repack.fromid;
|
|
delete repack.ip;
|
|
var str = JSON.stringify(repack);
|
|
|
|
switch (pack.conmode)
|
|
{
|
|
case "tcp":
|
|
if (packet_face.SendPack_Tcp)
|
|
{
|
|
if (toids && (toids.length > 0))
|
|
{
|
|
packet_face.SendPack_Tcp(toids, str);
|
|
}
|
|
else
|
|
{
|
|
packet_face.SendPack_Tcp([pack.fromid], str);
|
|
}
|
|
}
|
|
break;
|
|
case "http":
|
|
if (packet_face.SendPack_Http)
|
|
{
|
|
if (pack.fromid && (pack.fromid != ""))
|
|
{
|
|
packet_face.SendPack_Http(pack.fromid, str);
|
|
}
|
|
}
|
|
break;
|
|
default:
|
|
break;
|
|
}
|
|
}
|
|
|
|
if (typeof global !== "undefined")
|
|
{} else {
|
|
global = {};
|
|
}
|
|
|
|
if (typeof module !=="undefined")
|
|
{} else {
|
|
module = {};
|
|
module.exports = {};
|
|
}
|
|
|
|
//输出
|
|
global.packet_face = packet_face;
|
|
global.packet_face.OnTcpConnected = packet_face.OnTcpConnected;
|
|
global.packet_face.OnTcpDisConnected = packet_face.OnTcpDisConnected;
|
|
global.packet_face.ReceivePack = packet_face.ReceivePack;
|
|
global.packet_face.SendPack = packet_face.SendPack;
|
|
|
|
//////////以下为固定代码
|
|
if (module)
|
|
{
|
|
module.exports.packet_face = packet_face;
|
|
}; |