public MessageTcpService(IMessageSerializer serializer, Action<TcpSession, object> messageHandler, Func<TcpSession> creator) { handlers = new MessageHandlers(serializer); base.Initialize(() => { var session = creator(); session.Initialize(handlers.CreateReceivedHandler(session, messageHandler), handlers.CreateSendingHandler()); return session; }); }
/// <summary> /// 适用于MessageHandler不能在Service创建时确定的场合 /// </summary> /// <param name="serializer"></param> /// <param name="initializer"></param> public MessageTcpService(IMessageSerializer serializer, Func<MessageHandlers, TcpSession> initializer) { handlers = new MessageHandlers(serializer); base.Initialize(() => initializer(handlers)); }