private void HandshakeHandler(Package package) { Message <Heartbeat> msg = MessageProtocol.Decode <Heartbeat>(package.buff); if (msg.err > 0) { handshakeTcs.TrySetResult(false); OnError?.Invoke(msg.errMsg); return; } if (heartBeatServiceGo == null) { GameObject go = new GameObject(); go.name = "heartBeatServiceGo"; heartBeatServiceGo = go.AddComponent(typeof(HeartBeatServiceGameObject)) as HeartBeatServiceGameObject; heartBeatServiceGo.Setup(msg.info.heartbeat, OnServerTimeout, socket); } else { OnReconected?.Invoke(); heartBeatServiceGo.ResetTimeout(msg.info.heartbeat); }//*/ handshakeTcs.TrySetResult(true); }
public async UniTask <Message <S> > RequestAsync <T, S>(string route, T info = default, string modelName = null) { uint rqID = (uint)Interlocked.Increment(ref RqID); try { #if SOCKET_DEBUG Debug.Log(string.Format("[{0}][Request] -->> [{1}] {2}", rqID, route, JsonUtility.ToJson(info))); #endif Package pack = await protocol.RequestAsync <T>(rqID, route, info, modelName); Message <S> msg = MessageProtocol.Decode <S>(pack.buff); #if SOCKET_DEBUG Debug.Log(string.Format("[{0}][Request] <<-- [{1}] {2} {3}", rqID, route, JsonUtility.ToJson(msg), JsonUtility.ToJson(msg.info))); #endif return(msg); } catch (Exception e) { //Debug.Log(string.Format("[{0}][RequestAsync Exception]{1}", rqID, e.Message)); throw e; } }
private void ErrorHandler(Package package) { Message <byte[]> msg = MessageProtocol.Decode <byte[]>(package.buff); Debug.LogError(string.Format("packType:{2} err:{0} msg:{1}", msg.err, msg.errMsg, package.packageType)); }