apps|Aries|Creator|Game|Network - adkevinchang/paracraftapi GitHub Wiki
apps->Aries->Creator->Game->Network
NetworkMain
服务器操作入口类
(gl)script/apps/Aries/Creator/Game/Network/NetworkMain.lua;
local NetworkMain = commonlib.gettable("MyCompany.Aries.Game.Network.NetworkMain");
公共方法
NetworkMain:StartServer(host, port)
创建服务器
参数
host:string -- ip地址
port:number -- 服务器端口
------------------------
NetworkMain:Connect(ip, port, username, password, tunnelClient)
连接指定服务器
参数
ip:string -- ip地址
port:number -- 服务器端口
username:string --用户名
password:string --密码
tunnelClient:class --类
------------------------
NetworkMain:Disconnect()
断开服务器连接
ServerManager
服务器管理类
(gl)script/apps/Aries/Creator/Game/Network/ServerManager.lua
local ServerManager = commonlib.gettable("MyCompany.Aries.Game.Network.ServerManager");
公共方法
ServerManager.GetSingleton()
服务管理单例类
ServerManager:Init(host, port, username, tunnelClient)
初始化创建服务器(并创建服务器管理员)
参数
host:string -- ip地址
port:number -- 服务器端口
username:string --用户名
tunnelClient:class --类
ServerManager:Shutdown()
服务器关闭并清除用户
WorldServer
空间世界服务类
(gl)script/apps/Aries/Creator/Game/Network/WorldServer.lua;
local WorldServer = commonlib.gettable("MyCompany.Aries.Game.Network.WorldServer");
公共方法
WorldServer:Init(name, worldpath, server_manager, save_handler)
空间世界服务的初始化
参数
name:string -- 世界名
worldpath:string -- 空间地址
server_manager:class --服务器管理
save_handler:function --保存处理
------------------------
WorldServer:OnExit()
退出世界服务
------------------------
WorldServer:CreateAdminPlayer()
创建服务器主角
------------------------
WorldClient
空间世界的客户端
"(gl)script/apps/Aries/Creator/Game/Network/WorldClient.lua";
local WorldClient = commonlib.gettable("MyCompany.Aries.Game.Network.WorldClient");
公共方法
WorldClient:Init(name)
世界客户端的初始化
参数
name:string -- 世界名
------------------------
WorldClient:Login(params)
客户端登录到指定服务器
参数
params:table -- 登录的参数对象表 如:{ip, port, thread, username, password, name, tunnelClient}
------------------------
NetClientHandler
连接客户端的逻辑处理类
(gl)script/apps/Aries/Creator/Game/Network/NetClientHandler.lua;
local NetClientHandler = commonlib.gettable("MyCompany.Aries.Game.Network.NetClientHandler");
公共方法
NetClientHandler:Init(ip, port, username, password, worldClient, tunnelClient)
网络客户端处理类初始化
参数
ip:string -- ip地址
port:string --端口
username:string --用户名
password:string --密码
worldClient:class --世界客户端对象
tunnelClient:class --通道客户端
------------------------
ConnectionTCP
tcp连接对象处理类
(gl)script/apps/Aries/Creator/Game/Network/ConnectionTCP.lua;
local ConnectionTCP = commonlib.gettable("MyCompany.Aries.Game.Network.ConnectionTCP");
公共方法
ConnectionTCP:Init(nid, thread, net_handler, tunnelClient)
tcp连接的初始化(线程,通道对象,网络处理对象的设置,连接与数据发送作用)
参数
nid:string -- nid对象
thread:string --线程对象
net_handler:class --网络处理对象
tunnelClient:class --通道对象类
------------------------
ConnectionTCP:OnConnectionLost(reason)
tcp连接的断开连接
参数
reason:string -- 断开连接原因
------------------------
ConnectionTCP:AddToSendQueue(msg, neuronfile)
tcp连接的添加发送队列
参数
msg:string -- 消息发送名称
------------------------
ConnectionTCP:OnNetReceive(msg)
tcp连接接受到数据处理
参数
msg:string -- 接受消息名称
------------------------
ConnectionTCP:Connect(timeout, callback_func)
tcp连接对象的连接回调
参数
timeout:number -- 时间延迟连接处理
callback_func:function --回调函数
------------------------
ConnectionTCP:Send(msg, neuronfile)
tcp连接对象的发送消息
参数
msg:string -- 时间延迟连接处理
neuronfile:class --
------------------------
Packet
tcp通讯数据包基础类
"(gl)script/apps/Aries/Creator/Game/Network/Packets/Packet.lua";
local Packet = commonlib.gettable("MyCompany.Aries.Game.Network.Packets.Packet");
公共方法
Packet:ReadPacket(msg)
数据包消息读取处理
参数
msg:string --数据消息名称
------------------------
Packet:ProcessPacket(net_handler)
数据包的逻辑处理
参数
net_handler:class --网络处理类
------------------------
Packet:Send(connection)
数据包的发送处理
参数
connection:class --tcp连接对象的处理
------------------------
PacketAuthUser
用户对象数据包类
(gl)script/apps/Aries/Creator/Game/Network/Packets/PacketAuthUser.lua;
local Packets = commonlib.gettable("MyCompany.Aries.Game.Network.Packets");
local packet = Packets.PacketAuthUser:new():Init(reason);
公共方法
PacketAuthUser:Init(username, password, result, serverInfo)
对象的初始化处理并赋值
参数
username:string --用户名
password:string --登录密码
result:string --数据结果
serverInfo:table --服务信息
------------------------
PacketAuthUser:ProcessPacket(net_handler)
对象数据包的处理
参数
net_handler:class --该处理对象