forked from sin365/NoSugarNet
归档
This commit is contained in:
parent
2cd5aa4383
commit
a5cc4b0521
Binary file not shown.
Binary file not shown.
@ -11,6 +11,7 @@ namespace ServerCore.Manager
|
|||||||
public Socket _socket { get; set; }
|
public Socket _socket { get; set; }
|
||||||
public bool IsOffline { get; set; } = false;
|
public bool IsOffline { get; set; } = false;
|
||||||
public DateTime LogOutDT { get; set; }
|
public DateTime LogOutDT { get; set; }
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public class ClientManager
|
public class ClientManager
|
||||||
@ -64,7 +65,6 @@ namespace ServerCore.Manager
|
|||||||
public ClientInfo JoinNewClient(Protobuf_Login data, Socket _socket)
|
public ClientInfo JoinNewClient(Protobuf_Login data, Socket _socket)
|
||||||
{
|
{
|
||||||
//也许这个函数需加lock
|
//也许这个函数需加lock
|
||||||
|
|
||||||
ClientInfo cinfo = GetClientForSocket(_socket);
|
ClientInfo cinfo = GetClientForSocket(_socket);
|
||||||
//如果连接还在
|
//如果连接还在
|
||||||
if (cinfo != null)
|
if (cinfo != null)
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
using AxibugProtobuf;
|
using AxibugProtobuf;
|
||||||
using ClientCore.Network;
|
using NoSugarNet.ClientCore.Network;
|
||||||
using Google.Protobuf;
|
using Google.Protobuf;
|
||||||
using NoSugarNet.ServerCore.Common;
|
using NoSugarNet.ServerCore.Common;
|
||||||
using ServerCore.Common;
|
using ServerCore.Common;
|
||||||
@ -17,9 +17,14 @@ namespace ServerCore.Manager
|
|||||||
}
|
}
|
||||||
|
|
||||||
Dictionary<byte, TunnelClientData> mDictTunnelID2Cfg = new Dictionary<byte, TunnelClientData>();
|
Dictionary<byte, TunnelClientData> mDictTunnelID2Cfg = new Dictionary<byte, TunnelClientData>();
|
||||||
Dictionary<long, Dictionary<byte, ServerLocalClient>> mDictUid2ServerLocalClients = new Dictionary<long, Dictionary<byte, ServerLocalClient>>();
|
Dictionary<long, ServerLocalClient> mDictCommKey2ServerLocalClients = new Dictionary<long, ServerLocalClient>();
|
||||||
CompressAdapter mCompressAdapter;
|
CompressAdapter mCompressAdapter;
|
||||||
|
|
||||||
|
static long GetCommKey(long Uid, int Tunnel, int Idx)
|
||||||
|
{
|
||||||
|
return (Uid * 10000000) + (Tunnel * 10000) + Idx;
|
||||||
|
}
|
||||||
|
|
||||||
public LocalClientManager()
|
public LocalClientManager()
|
||||||
{
|
{
|
||||||
//初始化压缩适配器,暂时使用0,代表压缩类型
|
//初始化压缩适配器,暂时使用0,代表压缩类型
|
||||||
@ -37,84 +42,78 @@ namespace ServerCore.Manager
|
|||||||
/// <param name="uid"></param>
|
/// <param name="uid"></param>
|
||||||
/// <param name="tunnelId"></param>
|
/// <param name="tunnelId"></param>
|
||||||
/// <param name="serverClient"></param>
|
/// <param name="serverClient"></param>
|
||||||
void AddServerLocalClient(long uid, byte tunnelId, ServerLocalClient serverClient)
|
void AddServerLocalClient(long uid, byte tunnelId,byte Idx, ServerLocalClient serverClient)
|
||||||
{
|
{
|
||||||
lock (mDictUid2ServerLocalClients)
|
long CommKey = GetCommKey(uid, tunnelId, Idx);
|
||||||
|
lock (mDictCommKey2ServerLocalClients)
|
||||||
{
|
{
|
||||||
if (!mDictUid2ServerLocalClients.ContainsKey(uid))
|
mDictCommKey2ServerLocalClients[CommKey] = serverClient;
|
||||||
mDictUid2ServerLocalClients[uid] = new Dictionary<byte, ServerLocalClient>();
|
|
||||||
|
|
||||||
mDictUid2ServerLocalClients[uid][tunnelId] = serverClient;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 删除连接
|
/// 删除连接
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="uid"></param>
|
/// <param name="uid"></param>
|
||||||
/// <param name="tunnelId"></param>
|
/// <param name="tunnelId"></param>
|
||||||
void RemoveServerLocalClient(long uid, byte tunnelId)
|
void RemoveServerLocalClient(long uid, byte tunnelId, byte Idx)
|
||||||
{
|
{
|
||||||
lock (mDictUid2ServerLocalClients)
|
lock (mDictCommKey2ServerLocalClients)
|
||||||
{
|
{
|
||||||
if (!mDictUid2ServerLocalClients.ContainsKey(uid))
|
long CommKey = GetCommKey(uid, tunnelId, Idx);
|
||||||
|
|
||||||
|
if (!mDictCommKey2ServerLocalClients.ContainsKey(CommKey))
|
||||||
return;
|
return;
|
||||||
|
mDictCommKey2ServerLocalClients.Remove(CommKey);
|
||||||
if (!mDictUid2ServerLocalClients[uid].ContainsKey(tunnelId))
|
|
||||||
return;
|
|
||||||
|
|
||||||
mDictUid2ServerLocalClients[uid].Remove(tunnelId);
|
|
||||||
|
|
||||||
if (mDictUid2ServerLocalClients[uid].Count < 1)
|
|
||||||
mDictUid2ServerLocalClients.Remove(uid);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
bool GetServerLocalClient(long uid, byte tunnelId,out ServerLocalClient serverLocalClient)
|
|
||||||
|
bool GetServerLocalClient(long uid, byte tunnelId, byte Idx,out ServerLocalClient serverLocalClient)
|
||||||
{
|
{
|
||||||
serverLocalClient = null;
|
serverLocalClient = null;
|
||||||
if (!mDictUid2ServerLocalClients.ContainsKey(uid))
|
|
||||||
|
long CommKey = GetCommKey(uid, tunnelId, Idx);
|
||||||
|
|
||||||
|
if (!mDictCommKey2ServerLocalClients.ContainsKey(CommKey))
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
if (!mDictUid2ServerLocalClients[uid].ContainsKey(tunnelId))
|
serverLocalClient = mDictCommKey2ServerLocalClients[CommKey];
|
||||||
return false;
|
|
||||||
|
|
||||||
serverLocalClient = mDictUid2ServerLocalClients[uid][tunnelId];
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
|
|
||||||
#region 解析客户端上行数据
|
#region 解析客户端上行数据
|
||||||
public void Recive_TunnelC2SConnect(Socket sk, byte[] reqData)
|
public void Recive_TunnelC2SConnect(Socket sk, byte[] reqData)
|
||||||
{
|
{
|
||||||
ClientInfo _c = ServerManager.g_ClientMgr.GetClientForSocket(sk);
|
ClientInfo _c = ServerManager.g_ClientMgr.GetClientForSocket(sk);
|
||||||
ServerManager.g_Log.Debug("OnTunnelC2SConnect");
|
ServerManager.g_Log.Debug("OnTunnelC2SConnect");
|
||||||
Protobuf_C2S_Connect msg = ProtoBufHelper.DeSerizlize<Protobuf_C2S_Connect>(reqData);
|
Protobuf_C2S_Connect msg = ProtoBufHelper.DeSerizlize<Protobuf_C2S_Connect>(reqData);
|
||||||
OnClientLocalConnect(_c.UID, (byte)msg.TunnelID);
|
OnClientLocalConnect(_c.UID, (byte)msg.TunnelID, (byte)msg.Idx);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void Recive_TunnelC2SDisconnect(Socket sk, byte[] reqData)
|
public void Recive_TunnelC2SDisconnect(Socket sk, byte[] reqData)
|
||||||
{
|
{
|
||||||
ClientInfo _c = ServerManager.g_ClientMgr.GetClientForSocket(sk);
|
ClientInfo _c = ServerManager.g_ClientMgr.GetClientForSocket(sk);
|
||||||
ServerManager.g_Log.Debug("Recive_TunnelC2SDisconnect");
|
ServerManager.g_Log.Debug("Recive_TunnelC2SDisconnect");
|
||||||
Protobuf_C2S_Disconnect msg = ProtoBufHelper.DeSerizlize<Protobuf_C2S_Disconnect>(reqData);
|
Protobuf_C2S_Disconnect msg = ProtoBufHelper.DeSerizlize<Protobuf_C2S_Disconnect>(reqData);
|
||||||
OnClientLocalDisconnect(_c.UID, (byte)msg.TunnelID);
|
OnClientLocalDisconnect(_c.UID, (byte)msg.TunnelID,(byte)msg.Idx);
|
||||||
}
|
}
|
||||||
public void Recive_TunnelC2SData(Socket sk, byte[] reqData)
|
public void Recive_TunnelC2SData(Socket sk, byte[] reqData)
|
||||||
{
|
{
|
||||||
ClientInfo _c = ServerManager.g_ClientMgr.GetClientForSocket(sk);
|
ClientInfo _c = ServerManager.g_ClientMgr.GetClientForSocket(sk);
|
||||||
ServerManager.g_Log.Debug("OnTunnelC2SData");
|
ServerManager.g_Log.Debug("OnTunnelC2SData");
|
||||||
Protobuf_C2S_DATA msg = ProtoBufHelper.DeSerizlize<Protobuf_C2S_DATA>(reqData);
|
Protobuf_C2S_DATA msg = ProtoBufHelper.DeSerizlize<Protobuf_C2S_DATA>(reqData);
|
||||||
OnClientTunnelDataCallBack(_c.UID, (byte)msg.TunnelID, msg.HunterNetCoreData.ToArray());
|
OnClientTunnelDataCallBack(_c.UID, (byte)msg.TunnelID, (byte)msg.Idx, msg.HunterNetCoreData.ToArray());
|
||||||
}
|
}
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
|
|
||||||
#region 两端本地端口连接事件通知
|
#region 两端本地端口连接事件通知
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 当客户端本地端口连接
|
/// 当客户端本地端口连接
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="uid"></param>
|
/// <param name="uid"></param>
|
||||||
/// <param name="tunnelId"></param>
|
/// <param name="tunnelId"></param>
|
||||||
void OnClientLocalConnect(long uid, byte tunnelId)
|
void OnClientLocalConnect(long uid, byte tunnelId,int Idx)
|
||||||
{
|
{
|
||||||
if (!ServerManager.g_ClientMgr.GetClientByUID(uid, out ClientInfo client))
|
if (!ServerManager.g_ClientMgr.GetClientByUID(uid, out ClientInfo client))
|
||||||
return;
|
return;
|
||||||
@ -127,7 +126,7 @@ namespace ServerCore.Manager
|
|||||||
{
|
{
|
||||||
//服务器本地局域网连接指定端口
|
//服务器本地局域网连接指定端口
|
||||||
TunnelClientData tunnelDataCfg = mDictTunnelID2Cfg[tunnelId];
|
TunnelClientData tunnelDataCfg = mDictTunnelID2Cfg[tunnelId];
|
||||||
ServerLocalClient serverLocalClient = new ServerLocalClient(tunnelId);
|
ServerLocalClient serverLocalClient = new ServerLocalClient(tunnelId, (byte)Idx);
|
||||||
//连接成功
|
//连接成功
|
||||||
if (!serverLocalClient.Init(tunnelDataCfg.IP, tunnelDataCfg.Port))
|
if (!serverLocalClient.Init(tunnelDataCfg.IP, tunnelDataCfg.Port))
|
||||||
{
|
{
|
||||||
@ -142,17 +141,17 @@ namespace ServerCore.Manager
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="uid"></param>
|
/// <param name="uid"></param>
|
||||||
/// <param name="tunnelId"></param>
|
/// <param name="tunnelId"></param>
|
||||||
void OnClientLocalDisconnect(long uid, byte tunnelId)
|
void OnClientLocalDisconnect(long uid, byte tunnelId,byte Idx)
|
||||||
{
|
{
|
||||||
if (!ServerManager.g_ClientMgr.GetClientByUID(uid, out ClientInfo client))
|
if (!ServerManager.g_ClientMgr.GetClientByUID(uid, out ClientInfo client))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
//隧道ID定位投递服务端本地连接
|
//隧道ID定位投递服务端本地连接
|
||||||
if (!GetServerLocalClient(uid, tunnelId, out ServerLocalClient serverLocalClient))
|
if (!GetServerLocalClient(uid, tunnelId, Idx, out ServerLocalClient serverLocalClient))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
//清楚服务器数据
|
//清楚服务器数据
|
||||||
RemoveServerLocalClient(uid, tunnelId);
|
RemoveServerLocalClient(uid, tunnelId, Idx);
|
||||||
//断开服务端本地客户端连接
|
//断开服务端本地客户端连接
|
||||||
serverLocalClient.CloseConntect();
|
serverLocalClient.CloseConntect();
|
||||||
}
|
}
|
||||||
@ -161,17 +160,18 @@ namespace ServerCore.Manager
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="uid"></param>
|
/// <param name="uid"></param>
|
||||||
/// <param name="tunnelId"></param>
|
/// <param name="tunnelId"></param>
|
||||||
public void OnServerLocalConnect(long uid, byte tunnelId, ServerLocalClient serverLocalClient)
|
public void OnServerLocalConnect(long uid, byte tunnelId, byte Idx, ServerLocalClient serverLocalClient)
|
||||||
{
|
{
|
||||||
if (!ServerManager.g_ClientMgr.GetClientByUID(uid, out ClientInfo client))
|
if (!ServerManager.g_ClientMgr.GetClientByUID(uid, out ClientInfo client))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
//添加到服务端本地连接列表
|
//添加到服务端本地连接列表
|
||||||
AddServerLocalClient(uid, tunnelId, serverLocalClient);
|
AddServerLocalClient(uid, tunnelId, Idx, serverLocalClient);
|
||||||
|
|
||||||
byte[] respData = ProtoBufHelper.Serizlize(new Protobuf_S2C_Connect()
|
byte[] respData = ProtoBufHelper.Serizlize(new Protobuf_S2C_Connect()
|
||||||
{
|
{
|
||||||
TunnelID = tunnelId,
|
TunnelID = tunnelId,
|
||||||
|
Idx = Idx,
|
||||||
});
|
});
|
||||||
//发送给客户端,指定服务端本地端口已连接
|
//发送给客户端,指定服务端本地端口已连接
|
||||||
ServerManager.g_ClientMgr.ClientSend(client, (int)CommandID.CmdTunnelS2CConnect, (int)ErrorCode.ErrorOk, respData);
|
ServerManager.g_ClientMgr.ClientSend(client, (int)CommandID.CmdTunnelS2CConnect, (int)ErrorCode.ErrorOk, respData);
|
||||||
@ -181,16 +181,17 @@ namespace ServerCore.Manager
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="uid"></param>
|
/// <param name="uid"></param>
|
||||||
/// <param name="tunnelId"></param>
|
/// <param name="tunnelId"></param>
|
||||||
public void OnServerLocalDisconnect(long uid, byte tunnelId, ServerLocalClient serverLocalClient)
|
public void OnServerLocalDisconnect(long uid, byte tunnelId, byte Idx, ServerLocalClient serverLocalClient)
|
||||||
{
|
{
|
||||||
if (!ServerManager.g_ClientMgr.GetClientByUID(uid, out ClientInfo client))
|
if (!ServerManager.g_ClientMgr.GetClientByUID(uid, out ClientInfo client))
|
||||||
return;
|
return;
|
||||||
//添加到服务端本地连接列表
|
//添加到服务端本地连接列表
|
||||||
RemoveServerLocalClient(uid, tunnelId);
|
RemoveServerLocalClient(uid, tunnelId, Idx);
|
||||||
|
|
||||||
byte[] respData = ProtoBufHelper.Serizlize(new Protobuf_S2C_Disconnect()
|
byte[] respData = ProtoBufHelper.Serizlize(new Protobuf_S2C_Disconnect()
|
||||||
{
|
{
|
||||||
TunnelID = tunnelId,
|
TunnelID = tunnelId,
|
||||||
|
Idx= Idx,
|
||||||
});
|
});
|
||||||
//发送给客户端,指定服务端本地端口连接已断开
|
//发送给客户端,指定服务端本地端口连接已断开
|
||||||
ServerManager.g_ClientMgr.ClientSend(client, (int)CommandID.CmdTunnelS2CDisconnect, (int)ErrorCode.ErrorOk, respData);
|
ServerManager.g_ClientMgr.ClientSend(client, (int)CommandID.CmdTunnelS2CDisconnect, (int)ErrorCode.ErrorOk, respData);
|
||||||
@ -204,7 +205,7 @@ namespace ServerCore.Manager
|
|||||||
/// <param name="uid"></param>
|
/// <param name="uid"></param>
|
||||||
/// <param name="tunnelId"></param>
|
/// <param name="tunnelId"></param>
|
||||||
/// <param name="data"></param>
|
/// <param name="data"></param>
|
||||||
public void OnServerLocalDataCallBack(long uid, byte tunnelId, byte[] data)
|
public void OnServerLocalDataCallBack(long uid, byte tunnelId,byte Idx, byte[] data)
|
||||||
{
|
{
|
||||||
if (!ServerManager.g_ClientMgr.GetClientByUID(uid, out ClientInfo client))
|
if (!ServerManager.g_ClientMgr.GetClientByUID(uid, out ClientInfo client))
|
||||||
return;
|
return;
|
||||||
@ -214,6 +215,7 @@ namespace ServerCore.Manager
|
|||||||
byte[] respData = ProtoBufHelper.Serizlize(new Protobuf_C2S_DATA()
|
byte[] respData = ProtoBufHelper.Serizlize(new Protobuf_C2S_DATA()
|
||||||
{
|
{
|
||||||
TunnelID = tunnelId,
|
TunnelID = tunnelId,
|
||||||
|
Idx = Idx,
|
||||||
HunterNetCoreData = ByteString.CopyFrom(data)
|
HunterNetCoreData = ByteString.CopyFrom(data)
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -226,10 +228,10 @@ namespace ServerCore.Manager
|
|||||||
/// <param name="uid"></param>
|
/// <param name="uid"></param>
|
||||||
/// <param name="tunnelId"></param>
|
/// <param name="tunnelId"></param>
|
||||||
/// <param name="data"></param>
|
/// <param name="data"></param>
|
||||||
public void OnClientTunnelDataCallBack(long uid, byte tunnelId, byte[] data)
|
public void OnClientTunnelDataCallBack(long uid, byte tunnelId, byte Idx, byte[] data)
|
||||||
{
|
{
|
||||||
//隧道ID定位投递服务端本地连接
|
//隧道ID定位投递服务端本地连接
|
||||||
if (!GetServerLocalClient(uid, tunnelId, out ServerLocalClient serverLocalClient))
|
if (!GetServerLocalClient(uid, tunnelId, Idx, out ServerLocalClient serverLocalClient))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
//解压
|
//解压
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
using HaoYueNet.ClientNetwork;
|
using HaoYueNet.ClientNetwork.OtherMode;
|
||||||
using ServerCore.Manager;
|
using ServerCore.Manager;
|
||||||
|
|
||||||
namespace ClientCore.Network
|
namespace NoSugarNet.ClientCore.Network
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 继承网络库,以支持网络功能
|
/// 继承网络库,以支持网络功能
|
||||||
@ -10,9 +10,11 @@ namespace ClientCore.Network
|
|||||||
{
|
{
|
||||||
public long mUID;
|
public long mUID;
|
||||||
public byte mTunnelID;
|
public byte mTunnelID;
|
||||||
public ServerLocalClient(byte TunnelID)
|
public byte mIdx;
|
||||||
|
public ServerLocalClient(byte TunnelID, byte Idx)
|
||||||
{
|
{
|
||||||
mTunnelID = TunnelID;
|
mTunnelID = TunnelID;
|
||||||
|
mIdx = Idx;
|
||||||
//指定接收服务器数据事件
|
//指定接收服务器数据事件
|
||||||
OnReceiveData += GetDataCallBack;
|
OnReceiveData += GetDataCallBack;
|
||||||
//断开连接
|
//断开连接
|
||||||
@ -27,7 +29,7 @@ namespace ClientCore.Network
|
|||||||
NetworkDeBugLog($"NetworkConnected:{IsConnect}");
|
NetworkDeBugLog($"NetworkConnected:{IsConnect}");
|
||||||
if (IsConnect)
|
if (IsConnect)
|
||||||
{
|
{
|
||||||
ServerManager.g_Local.OnServerLocalConnect(mUID, mTunnelID,this);
|
ServerManager.g_Local.OnServerLocalConnect(mUID, mTunnelID, mIdx, this);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -55,7 +57,7 @@ namespace ClientCore.Network
|
|||||||
try
|
try
|
||||||
{
|
{
|
||||||
//抛出网络数据
|
//抛出网络数据
|
||||||
ServerManager.g_Local.OnServerLocalDataCallBack(mUID, mTunnelID, data);
|
ServerManager.g_Local.OnServerLocalDataCallBack(mUID, mTunnelID, mIdx, data);
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
@ -70,7 +72,7 @@ namespace ClientCore.Network
|
|||||||
public void OnConnectClose()
|
public void OnConnectClose()
|
||||||
{
|
{
|
||||||
NetworkDeBugLog("OnConnectClose");
|
NetworkDeBugLog("OnConnectClose");
|
||||||
ServerManager.g_Local.OnServerLocalDisconnect(mUID, mTunnelID,this);
|
ServerManager.g_Local.OnServerLocalDisconnect(mUID, mTunnelID,mIdx,this);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -6,8 +6,11 @@ enum CommandID
|
|||||||
{
|
{
|
||||||
CMD_DEFAUL = 0;//缺省不使用
|
CMD_DEFAUL = 0;//缺省不使用
|
||||||
|
|
||||||
|
|
||||||
CMD_LOGIN = 2001; //自动登录上行 | 下行 对应 Protobuf_Login | Protobuf_Login_RESP
|
CMD_LOGIN = 2001; //自动登录上行 | 下行 对应 Protobuf_Login | Protobuf_Login_RESP
|
||||||
|
|
||||||
|
CMD_CFGS = 3001; //配置信息 下行 对应 Protobuf_Cfgs
|
||||||
|
|
||||||
CMD_CHATMSG = 4001; //广播信息上行 | 下行 对应 Protobuf_ChatMsg | Protobuf_ChatMsg_RESP
|
CMD_CHATMSG = 4001; //广播信息上行 | 下行 对应 Protobuf_ChatMsg | Protobuf_ChatMsg_RESP
|
||||||
|
|
||||||
CMD_TUNNEL_C2S_CONNECT = 5000; //客户端告知服务端 客户端本地连接建立 上行 Protobuf_C2S_Connect
|
CMD_TUNNEL_C2S_CONNECT = 5000; //客户端告知服务端 客户端本地连接建立 上行 Protobuf_C2S_Connect
|
||||||
@ -66,6 +69,18 @@ message Protobuf_Login_RESP
|
|||||||
LoginResultStatus Status = 4;//账号状态 (预留) [1]正常[0]被禁封
|
LoginResultStatus Status = 4;//账号状态 (预留) [1]正常[0]被禁封
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//配置下行
|
||||||
|
message Protobuf_Cfgs
|
||||||
|
{
|
||||||
|
repeated Protobuf_Cfgs_Single cfgs = 1;//配置
|
||||||
|
}
|
||||||
|
|
||||||
|
message Protobuf_Cfgs_Single
|
||||||
|
{
|
||||||
|
uint32 TunnelID = 1;//TunnelID
|
||||||
|
string IP = 2;//IP
|
||||||
|
int32 Port = 3;//端口
|
||||||
|
}
|
||||||
|
|
||||||
//聊天 上行
|
//聊天 上行
|
||||||
message Protobuf_ChatMsg
|
message Protobuf_ChatMsg
|
||||||
@ -78,38 +93,44 @@ message Protobuf_ChatMsg_RESP
|
|||||||
{
|
{
|
||||||
string NickName = 1;//昵称
|
string NickName = 1;//昵称
|
||||||
string ChatMsg = 2;//消息
|
string ChatMsg = 2;//消息
|
||||||
int64 Date = 3;//消息
|
int64 Date = 3;//时间
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
message Protobuf_C2S_Connect
|
message Protobuf_C2S_Connect
|
||||||
{
|
{
|
||||||
int32 TunnelID = 1;//TunnelID
|
uint32 TunnelID = 1;//TunnelID
|
||||||
|
uint32 Idx = 2;//单个隧道连接下标
|
||||||
}
|
}
|
||||||
|
|
||||||
message Protobuf_S2C_Connect
|
message Protobuf_S2C_Connect
|
||||||
{
|
{
|
||||||
int32 TunnelID = 1;//TunnelID
|
uint32 TunnelID = 1;//TunnelID
|
||||||
|
uint32 Idx = 2;//单个隧道连接下标
|
||||||
}
|
}
|
||||||
|
|
||||||
message Protobuf_C2S_Disconnect
|
message Protobuf_C2S_Disconnect
|
||||||
{
|
{
|
||||||
int32 TunnelID = 1;//TunnelID
|
uint32 TunnelID = 1;//TunnelID
|
||||||
|
uint32 Idx = 2;//单个隧道连接下标
|
||||||
}
|
}
|
||||||
|
|
||||||
message Protobuf_S2C_Disconnect
|
message Protobuf_S2C_Disconnect
|
||||||
{
|
{
|
||||||
int32 TunnelID = 1;//TunnelID
|
uint32 TunnelID = 1;//TunnelID
|
||||||
|
uint32 Idx = 2;//单个隧道连接下标
|
||||||
}
|
}
|
||||||
|
|
||||||
message Protobuf_C2S_DATA
|
message Protobuf_C2S_DATA
|
||||||
{
|
{
|
||||||
int32 TunnelID = 1;//TunnelID
|
uint32 TunnelID = 1;//TunnelID
|
||||||
bytes HunterNetCore_Data = 2;
|
uint32 Idx = 2;//单个隧道连接下标
|
||||||
|
bytes HunterNetCore_Data = 3;
|
||||||
}
|
}
|
||||||
|
|
||||||
message Protobuf_S2C_DATA
|
message Protobuf_S2C_DATA
|
||||||
{
|
{
|
||||||
int32 TunnelID = 1;//TunnelID
|
uint32 TunnelID = 1;//TunnelID
|
||||||
bytes HunterNetCore_Data = 2;
|
uint32 Idx = 2;//单个隧道连接下标
|
||||||
|
bytes HunterNetCore_Data = 3;
|
||||||
}
|
}
|
Loading…
Reference in New Issue
Block a user