public static System_HeartbeatProto GetProto(byte[] buffer, bool isChild = false) { System_HeartbeatProto proto = new System_HeartbeatProto(); MMO_MemoryStream ms = null; if (!isChild) { ms = GameEntry.Socket.SocketSendMS; } else { ms = GameEntry.Pool.DequeueClassObject <MMO_MemoryStream>(); } ms.SetLength(0); ms.Write(buffer, 0, buffer.Length); ms.Position = 0; proto.LocalTime = ms.ReadFloat(); if (isChild) { GameEntry.Pool.EnqueueClassObject(ms); } return(proto); }
public static System_HeartbeatProto GetProto(MMO_MemoryStream ms, byte[] buffer) { System_HeartbeatProto proto = new System_HeartbeatProto(); ms.SetLength(0); ms.Write(buffer, 0, buffer.Length); ms.Position = 0; proto.LocalTime = ms.ReadFloat(); return(proto); }
public void OnUpdate() { m_SocketManager.OnUpdate(); if (m_IsConnectToMainSocket) { if (Time.realtimeSinceStartup>m_PrevHearbeatTime+HearbeatInterval) { //发送心跳 m_PrevHearbeatTime = Time.realtimeSinceStartup; System_HeartbeatProto proto = new System_HeartbeatProto(); proto.LocalTime = Time.realtimeSinceStartup * 1000; CheckServerTime = Time.realtimeSinceStartup;//和服务器对表时刻 SendMainMsg(proto); } } }
// Update is called once per frame void Update() { if (Input.GetKeyUp(KeyCode.A)) { GameEntry.Socket.ConnectToMainSocket("192.168.1.108", 1038); } if (Input.GetKeyUp(KeyCode.B)) { for (int i = 0; i < 100; i++) { System_HeartbeatProto proto = new System_HeartbeatProto(); proto.LocalTime = Time.realtimeSinceStartup * 1000; GameEntry.Socket.SendProtoMessage(proto); } //GameEntry.Socket.CloseMainSocket(); } }
public override void OnUpdate(float deltaTime, float unscaledDeltaTime) { base.OnUpdate(deltaTime, unscaledDeltaTime); m_SocketManager.OnUpdate(deltaTime, unscaledDeltaTime); if (m_IsConnectToMainSocket) { if (Time.realtimeSinceStartup > m_PreHeartbeatTime + m_HeartbeatInterval) { m_PreHeartbeatTime = Time.realtimeSinceStartup; //发送心跳包 System_HeartbeatProto proto = new System_HeartbeatProto(); proto.LocalTime = Time.realtimeSinceStartup * 1000; m_CheckServerTime = Time.realtimeSinceStartup; SendProtoMessage(proto); } } }