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    --该处理对象