private void EGEC_ACK_GATE_LAG_TEST(int id, MemoryStream stream) { NFMsg.MsgBase xMsg = NFMsg.MsgBase.Parser.ParseFrom(stream); NFMsg.ReqAckLagTest xData = NFMsg.ReqAckLagTest.Parser.ParseFrom(xMsg.MsgData); float time; if (mLagTestData.TryGetValue(xData.Index, out time)) { float lagTime = Time.realtimeSinceStartup - time; gateLagTime = (int)(lagTime * 1000); if (gateLagTimeList.Count > 10) { StringBuilder sb = new StringBuilder(); sb.Append("gateLagTime:"); foreach (var item in gateLagTimeList) { sb.Append(item); sb.Append(","); } Debug.Log(sb.ToString()); gateLagTimeList.Clear(); } } }
private bool DoDelegation(NFMsg.EGameMsgID eMsg, MemoryStream stream) { if (mhtMsgDelegation.ContainsKey(eMsg)) { MsgDelegation myDelegationHandler = (MsgDelegation)mhtMsgDelegation[eMsg]; NFMsg.MsgBase xMsg = mxSerializer.Deserialize(stream, null, typeof(NFMsg.MsgBase)) as NFMsg.MsgBase; myDelegationHandler(xMsg); return(true); } return(false); }
private void EGEC_ACK_GATE_LAG_TEST(int id, MemoryStream stream) { NFMsg.MsgBase xMsg = NFMsg.MsgBase.Parser.ParseFrom(stream); NFMsg.ReqAckLagTest xData = NFMsg.ReqAckLagTest.Parser.ParseFrom(xMsg.MsgData); float time; if (mLagTestData.TryGetValue(xData.Index, out time)) { float lagTime = Time.realtimeSinceStartup - time; gateLagTime = (int)(lagTime * 1000); //Debug.Log("gateLagTime:" + gateLagTime); } }
public void SendToServerByPB(NFMsg.EGameMsgID unMsgID, MemoryStream stream) { NFMsg.MsgBase xData = new NFMsg.MsgBase(); xData.player_id = NFToPB(mOwnerID); xData.msg_data = stream.ToArray(); MemoryStream body = new MemoryStream(); Serializer.Serialize <NFMsg.MsgBase>(body, xData); MemoryStream pack = new MemoryStream(); BinaryWriter writer = new BinaryWriter(pack); UInt32 msgLen = (UInt32)body.Length + (UInt32)ConstDefine.NF_PACKET_HEAD_SIZE; writer.Write(NFCNet.ConvertUint16((UInt16)unMsgID)); writer.Write(NFCNet.ConvertUint32((UInt32)msgLen)); body.WriteTo(pack); NFCNet.Instance().sendMsg(pack); }
public void OnPlayerMove(UInt16 id, MemoryStream stream) { NFMsg.MsgBase xMsg = NFMsg.MsgBase.Parser.ParseFrom(stream); NFMsg.ReqAckPlayerMove xData = NFMsg.ReqAckPlayerMove.Parser.ParseFrom(xMsg.msg_data); if (xData.target_pos.Count <= 0) { return; } NFGUID tar = mHelpModule.PBToNF(xData.mover); if (tar == mLoginModule.mRoleID) { return; } GameObject player = GetObject(tar); OtherPlayer otherPlayer = player.GetComponent <OtherPlayer>(); float fSpeed = xData.speed; long nType = xData.moveType; NFVector3 pos = mHelpModule.PBToNF(xData.target_pos[0]); Vector3 vPos = new Vector3(pos.X(), pos.Y(), pos.Z()); if (nType > 0) { otherPlayer.JumpTo(vPos); } else { otherPlayer.MoveTo((float)fSpeed, vPos); } Debug.Log("Player Move:" + vPos.ToString()); }
/// <summary> /// 发送SOCKET消息 /// </summary> public void SendMsg(int uMsgID, ByteBuffer buffer) { NFMsg.MsgBase xData = new NFMsg.MsgBase(); xData.player_id = Util.NFToPB(mMainID); ByteBuffer newbuffer = new ByteBuffer(buffer.ToBytes()); xData.msg_data = newbuffer.ReadBytes(); MemoryStream body = new MemoryStream(); Serializer.Serialize <NFMsg.MsgBase>(body, xData); MsgHead head = new MsgHead(); head.unMsgID = (UInt16)uMsgID; head.unDataLen = (UInt32)body.Length + (UInt32)ConstDefine.NF_PACKET_HEAD_SIZE; byte[] bodyByte = body.ToArray(); byte[] headByte = StructureTransform.StructureToByteArrayEndian(head); byte[] sendBytes = new byte[head.unDataLen]; headByte.CopyTo(sendBytes, 0); bodyByte.CopyTo(sendBytes, headByte.Length); SocketClient.SendMessage(sendBytes); buffer.Close(); newbuffer.Close(); }
public static LuaByteBuffer FilterNoMsgBase(ByteBuffer buffer) { NFMsg.MsgBase xMsg = new NFMsg.MsgBase(); xMsg = ProtoBuf.Serializer.Deserialize <NFMsg.MsgBase>(new MemoryStream(buffer.ReadBytes())); return(new LuaByteBuffer(xMsg.msg_data)); }