public override void OnReceived(IConnection connection, byte[] buffer, int offset, int size) { NetworkBuffer networkBuffer = new NetworkBuffer(buffer, offset, size, true); int protocolId = networkBuffer.ReadInt32(); int callBackId = networkBuffer.ReadInt32(); Type messageType = messageInitializer.GetMessageType(protocolId); if (null == messageType) { LoggerManager.Instance.Warn("OnReceived found msg protocolId {0}-{0:X} can't getMessageType then ingored", protocolId); } else { Message message = (Message)Activator.CreateInstance(messageType); message.CallBackId = callBackId; message.DecodeBody(buffer, offset + networkBuffer.ReadOffset, networkBuffer.ReadableBytes); if (protocolId == Protocols.P_GC_GameLogin) { GCLoginGameMessage gcLoginGameMessage = (GCLoginGameMessage)message; connection.LoginGameRes = gcLoginGameMessage; LoggerManager.Instance.Info("connection {0} recv loginRes callBackId {1}", connection.GetHashCode(), gcLoginGameMessage.CallBackId); } else { connection.RecvProtocol(protocolId); IMessageHandler messageHandler = messageInitializer.GetMessageHandler(protocolId); if (messageHandler != null) { messageHandler.HandleMessage(connection, message); } else { if (!msgDelegateProcessor.HandleMessage(message, connection)) { messageHandler = messageInitializer.GetDefaultMessageHandler(); if (messageHandler != null) { messageHandler.HandleMessage(connection, message); } } } } } }
internal override void Deserialize(byte[] bytes) { var buff = new NetworkBuffer(bytes); activationType = (ActivationType)buff.ReadInt32(); inputShape = buff.ReadShape(); outputShape = buff.ReadShape(); _weights = buff.ReadTensor(); _bias = buff.ReadTensor(); buff.Close(); }
public override void OnReceived(IConnection connection, NetworkBuffer buffer, int offset, int size) { int protocolId = buffer.ReadInt32(); int bodySize = size - 4; Type msgType = messageInitializer.getMessageType(protocolId); if (msgType == null) { UnityEngine.Debug.Log(":::此消息C#无处理,进入ulua检测处理,消息号:" + protocolId + "-消息长度:" + size); LuaFramework.Util.CallMethod("Network", "OnSocket", protocolId, new ByteBuffer(buffer.GetBuffer())); return; } if (msgType == null) { this.ReceviedFail(buffer, protocolId, bodySize); return; } Message msg = (Message)Activator.CreateInstance(msgType); if (msg == null) { this.ReceviedFail(buffer, protocolId, bodySize); return; } msg.DecodeBody(buffer, buffer.ReadOffset, bodySize); IMessageHandler messageHandler = messageInitializer.GetMessageHandler(protocolId); if (AbstractMessageInitializer.getDefaultLogger() != null) { AbstractMessageInitializer.getDefaultLogger()("message recv:" + msgType.FullName + ", messageId:" + protocolId); } if (messageHandler != null) { messageHandler.handleMessage(connection, msg); } else { if (!msgDelegateProcessor.HandleMessage(msg, connection)) { //ReceviedFail(buffer, protocolId, bodySize); return; //messageHandler = messageInitializer.GetDefaultMessageHandler(); //if (messageHandler != null) // messageHandler.handleMessage(connection, msg); } } }