Files
youlegames/codes/games/sales_service/packet.js
2026-02-04 23:47:45 +08:00

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;
};