mirror of
https://github.com/Alex-Rachel/TEngine.git
synced 2025-08-07 16:45:10 +00:00
Update
Update
This commit is contained in:
@@ -112,7 +112,15 @@ namespace TEngine.Runtime
|
||||
/// </summary>
|
||||
/// <param name="actionId"></param>
|
||||
/// <param name="msgDelegate"></param>
|
||||
void RegisterHandler(int actionId, CsMsgDelegate msgDelegate);
|
||||
/// <param name="checkRepeat"></param>
|
||||
void RegisterHandler(int actionId, CsMsgDelegate msgDelegate,bool checkRepeat = true);
|
||||
|
||||
/// <summary>
|
||||
/// 注销网络消息包处理函数。
|
||||
/// </summary>
|
||||
/// <param name="actionId"></param>
|
||||
/// <param name="msgDelegate"></param>
|
||||
void RmvHandler(int actionId, CsMsgDelegate msgDelegate);
|
||||
|
||||
/// <summary>
|
||||
/// 连接到远程主机。
|
||||
@@ -139,6 +147,14 @@ namespace TEngine.Runtime
|
||||
/// </summary>
|
||||
/// <typeparam name="T">消息包类型。</typeparam>
|
||||
/// <param name="packet">要发送的消息包。</param>
|
||||
void Send<T>(T packet) where T : Packet;
|
||||
bool Send<T>(T packet) where T : Packet;
|
||||
|
||||
/// <summary>
|
||||
/// 向远程主机发送消息包并注册回调
|
||||
/// </summary>
|
||||
/// <param name="pack"></param>
|
||||
/// <param name="resHandler"></param>
|
||||
/// <returns></returns>
|
||||
bool SendCsMsg(TEngineProto.MainPack pack, CsMsgDelegate resHandler = null);
|
||||
}
|
||||
}
|
@@ -15,7 +15,7 @@ namespace TEngine.Runtime
|
||||
/// </summary>
|
||||
private abstract class NetworkChannelBase : INetworkChannel, IDisposable
|
||||
{
|
||||
private const float DefaultHeartBeatInterval = 30f;
|
||||
private const float DefaultHeartBeatInterval = 30;
|
||||
private const int MAX_MSG_HANDLE = 256;
|
||||
|
||||
private readonly string m_Name;
|
||||
@@ -292,8 +292,9 @@ namespace TEngine.Runtime
|
||||
/// </summary>
|
||||
/// <param name="actionId"></param>
|
||||
/// <param name="msgDelegate"></param>
|
||||
/// <param name="checkRepeat"></param>
|
||||
/// <exception cref="Exception"></exception>
|
||||
public void RegisterHandler(int actionId, CsMsgDelegate msgDelegate)
|
||||
public void RegisterHandler(int actionId, CsMsgDelegate msgDelegate,bool checkRepeat = true)
|
||||
{
|
||||
if (msgDelegate == null)
|
||||
{
|
||||
@@ -315,7 +316,10 @@ namespace TEngine.Runtime
|
||||
}
|
||||
else
|
||||
{
|
||||
Log.Warning("-------------repeat RegCmdHandle ActionCode:{0}-----------", (ActionCode)actionId);
|
||||
if (checkRepeat)
|
||||
{
|
||||
Log.Warning("-------------repeat RegCmdHandle ActionCode:{0}-----------", (ActionCode)actionId);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -434,13 +438,39 @@ namespace TEngine.Runtime
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 发送消息包并注册回调
|
||||
/// </summary>
|
||||
/// <param name="pack"></param>
|
||||
/// <param name="resHandler"></param>
|
||||
/// <param name="needShowWaitUI"></param>
|
||||
/// <returns></returns>
|
||||
public bool SendCsMsg(MainPack pack, CsMsgDelegate resHandler = null)
|
||||
{
|
||||
var ret = Send(pack);
|
||||
if (!ret)
|
||||
{
|
||||
TLogger.LogError("SendCSMsg Error");
|
||||
}
|
||||
else
|
||||
{
|
||||
if (resHandler != null)
|
||||
{
|
||||
RegTimeOutHandle((uint)pack.actioncode, resHandler);
|
||||
RegisterHandler((int)pack.actioncode, resHandler, false);
|
||||
}
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 向远程主机发送消息包。
|
||||
/// </summary>
|
||||
/// <typeparam name="T">消息包类型。</typeparam>
|
||||
/// <param name="packet">要发送的消息包。</param>
|
||||
public void Send<T>(T packet) where T : Packet
|
||||
public bool Send<T>(T packet) where T : Packet
|
||||
{
|
||||
if (m_Socket == null)
|
||||
{
|
||||
@@ -448,7 +478,7 @@ namespace TEngine.Runtime
|
||||
if (NetworkChannelError != null)
|
||||
{
|
||||
NetworkChannelError(this, NetworkErrorCode.SendError, SocketError.Success, errorMessage);
|
||||
return;
|
||||
return false;
|
||||
}
|
||||
|
||||
throw new Exception(errorMessage);
|
||||
@@ -460,7 +490,7 @@ namespace TEngine.Runtime
|
||||
if (NetworkChannelError != null)
|
||||
{
|
||||
NetworkChannelError(this, NetworkErrorCode.SendError, SocketError.Success, errorMessage);
|
||||
return;
|
||||
return false;
|
||||
}
|
||||
|
||||
throw new Exception(errorMessage);
|
||||
@@ -472,7 +502,7 @@ namespace TEngine.Runtime
|
||||
if (NetworkChannelError != null)
|
||||
{
|
||||
NetworkChannelError(this, NetworkErrorCode.SendError, SocketError.Success, errorMessage);
|
||||
return;
|
||||
return false;
|
||||
}
|
||||
|
||||
throw new Exception(errorMessage);
|
||||
@@ -482,6 +512,8 @@ namespace TEngine.Runtime
|
||||
{
|
||||
m_SendPacketPool.Enqueue(packet);
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
@@ -41,7 +41,7 @@ message MainPack
|
||||
string extstr = 5;
|
||||
repeated RoomPack roompack = 6; //房间包,repeated加上为list
|
||||
PlayerPack playerpack = 7;
|
||||
long HeatEchoTime = 8; //心跳包回包时间
|
||||
float HeatEchoTime = 8; //心跳包回包时间
|
||||
}
|
||||
|
||||
message LoginPack
|
||||
|
Reference in New Issue
Block a user