1234567891011121314151617181920212223242526 |
- using System;
- using System.IO;
- namespace ET
- {
- [SessionStreamDispatcher(SessionStreamDispatcherType.SessionStreamDispatcherClientOuter)]
- public class SessionStreamDispatcherClientOuter: ISessionStreamDispatcher
- {
- public void Dispatch(Session session, MemoryStream memoryStream)
- {
- ushort opcode = BitConverter.ToUInt16(memoryStream.GetBuffer(), Packet.KcpOpcodeIndex);
- Type type = OpcodeTypeComponent.Instance.GetType(opcode);
- object message = MessageSerializeHelper.DeserializeFrom(opcode, type, memoryStream);
-
- if (message is IResponse response)
- {
- session.OnRead(opcode, response);
- return;
- }
- OpcodeHelper.LogMsg(session.DomainZone(), opcode, message);
- // 普通消息或者是Rpc请求消息
- MessageDispatcherComponent.Instance.Handle(session, opcode, message);
- }
- }
- }
|