public MessageDispatcher(BasicController basicController, IBasicHandler basicHandler, ICustomizeHandler customizeHandler) { this.hotDic = new HotDictionary <string, BlobItem>(); this.basicController = basicController; this.basicHandler = basicHandler; this.customizeHandler = customizeHandler; }
public LoginForm(IRapidPassiveEngine engine, ICustomizeHandler handler) { this.rapidPassiveEngine = engine; this.customizeHandler = handler; int registerPort = int.Parse(ConfigurationManager.AppSettings["RemotingPort"]); this.remotingService = (IRemotingService)Activator.GetObject(typeof(IRemotingService), string.Format("tcp://{0}:{1}/RemotingService", ConfigurationManager.AppSettings["ServerIP"], registerPort));; InitializeComponent(); Dictionary <UserStatus, Image> statusImageDictionary = new Dictionary <UserStatus, Image>(); statusImageDictionary.Add(UserStatus.Online, this.imageList_state.Images[0]); statusImageDictionary.Add(UserStatus.Away, this.imageList_state.Images[1]); statusImageDictionary.Add(UserStatus.Busy, this.imageList_state.Images[2]); statusImageDictionary.Add(UserStatus.DontDisturb, this.imageList_state.Images[3]); statusImageDictionary.Add(UserStatus.Hide, this.imageList_state.Images[4]); statusImageDictionary.Add(UserStatus.OffLine, this.imageList_state.Images[5]); GlobalResourceManager.SetStatusImage(statusImageDictionary); this.skinLabel_SoftName.Text = GlobalResourceManager.SoftwareName; this.checkBoxRememberPwd.Checked = SystemSettings.Singleton.RememberPwd; this.checkBoxAutoLogin.Checked = SystemSettings.Singleton.AutoLogin; this.textBoxId.SkinTxt.Text = SystemSettings.Singleton.LastLoginUserID; if (SystemSettings.Singleton.RememberPwd) { this.textBoxPwd.SkinTxt.Text = "11111111"; this.pwdMD5 = SystemSettings.Singleton.LastLoginPwdMD5; this.pwdIsMD5 = true; } }
public void ieduNnurne(ICustomizeHandler icustomizeHandler_1, IBasicHandler ibasicHandler_1, IGroupManager igroupManager_1, IFriendsManager ifriendsManager_1, IContactsManager icontactsManager_1) { this.icustomizeHandler_0 = icustomizeHandler_1; this.ibasicHandler_0 = ibasicHandler_1; this.igroupManager_0 = igroupManager_1; this.ifriendsManager_0 = ifriendsManager_1; this.icontactsManager_0 = icontactsManager_1; }
public void Handle(string sourceUserID, int contractaID, byte[] info) { ICustomizeHandler customizeHandler = this.FindHandler(contractaID); if (customizeHandler != null) { customizeHandler.Handle(sourceUserID, contractaID, info); } }
public byte[] HandleQuery(string sourceUserID, int contractaID, byte[] info) { ICustomizeHandler customizeHandler = this.FindHandler(contractaID); byte[] result; if (customizeHandler != null) { result = customizeHandler.HandleQuery(sourceUserID, contractaID, info); } else { result = null; } return(result); }
/// <summary> /// 启动 /// </summary> public void Start(int listenPort, ICustomizeHandler customizeHander) { this.customizeHander = customizeHander; if (string.IsNullOrEmpty(this.IPAddressBinding)) { IPAddressBinding = IPHelper.GetLocalIPAddress(); } this.Port = listenPort; IPEndPoint localEndPoint = new IPEndPoint(IPAddress.Parse(this.IPAddressBinding), this.Port); listenSocket = new Socket(localEndPoint.AddressFamily, SocketType.Stream, ProtocolType.Tcp); listenSocket.Bind(localEndPoint); listenSocket.Listen(this.MaxConnectionCount);//?表示能同时连接的最大数量 StartAccept(null); }
public async Task RunEngineAsync(int port, IBasicHandler basicHandler, ICustomizeHandler handler) { bossGroup = new MultithreadEventLoopGroup(1); workerGroup = new MultithreadEventLoopGroup(); MessageDispatcher dispatcher = new MessageDispatcher(this.BasicController, basicHandler, handler); List <ChannelServerHandler> handlers = new List <ChannelServerHandler>(); RingObject <ChannelServerHandler> ringHandlers = null; if (!useDefaultThread)//此处相比默认handler增加了工作线程,默认工作线程为cpu核心*2 { for (int i = 0; i < workThreadCount; i++) { WorkerEngine <RequestInfo> workerEngine = new WorkerEngine <RequestInfo>(3000, 1, dispatcher.Process); workerEngine.Start(); handlers.Add(new ChannelServerHandler(this.userManager, workerEngine)); } ringHandlers = new RingObject <ChannelServerHandler>(handlers); } else { var cChannelHandlers = new List <ChannelServerHandler>() { new ChannelServerHandler(this.userManager, dispatcher) }; ringHandlers = new RingObject <ChannelServerHandler>(cChannelHandlers); } var bootstrap = new ServerBootstrap(); bootstrap .Group(bossGroup, workerGroup) .Channel <TcpServerSocketChannel>() //.Option(ChannelOption.SoBacklog, 100) //.Handler(new LoggingHandler(LogLevel.INFO)) .ChildHandler(new ActionChannelInitializer <ISocketChannel>(channel => { IChannelPipeline pipeline = channel.Pipeline; pipeline.AddLast(OFrameDecoder.NewOFrameDecoder()); pipeline.AddLast(ringHandlers.GetNext()); })); IChannel bootstrapChannel = await bootstrap.BindAsync(port); }
public async Task RunEngineAsync(string ip, int port, ICustomizeHandler handler) { this.channelClientHandler = new ChannelClientHandler(handler); this.BasicOutter = new BasicOutter(channelClientHandler.MessageBus); var group = new MultithreadEventLoopGroup(); var bootstrap = new Bootstrap(); bootstrap .Group(group) .Channel <TcpSocketChannel>() .Option(ChannelOption.TcpNodelay, true) .Handler(new ActionChannelInitializer <ISocketChannel>(channel => { IChannelPipeline pipeline = channel.Pipeline; //pipeline.AddLast(new LoggingHandler()); pipeline.AddLast(OFrameDecoder.NewOFrameDecoder()); pipeline.AddLast(this.channelClientHandler); pipeline.AddLast(); })); IChannel clientChannel = await bootstrap.ConnectAsync(new IPEndPoint(IPAddress.Parse(ip), port)); }
public LogonResponse Initialize(string userID, string logonPassword, string serverIP, int serverPort, ICustomizeHandler customizeHandler) { if (this.emptyAgileLogger_0 == null) { if (this.string_1 == null) { this.emptyAgileLogger_0 = new EmptyAgileLogger(); } else { FileAgileLogger logger = new FileAgileLogger(this.string_1) { MaxLength4ChangeFile = 0x100000L }; this.emptyAgileLogger_0 = (EmptyAgileLogger)logger; } } this.eventSafeTrigger_0.AgileLogger = this.emptyAgileLogger_0; this.string_0 = logonPassword; Class16 class2 = new Class16(); MessageForbiddenHandler class3 = new MessageForbiddenHandler(); this.object_0 = Class157.CreateInterface26((Enum6)0); int num = (!this.advancedOptions_0.CheckResponseTTL4Query || !this.bool_4) ? 10 : 0; this.class72_0 = new Class72(num, this.int_1); this.class72_0.SetEngine((IEngine)this.object_0); Interface36 interface2 = new Class94((ICommitMessageToServer)this.object_0, class3, null); Class79 class4 = new Class79(this.class72_0, interface2); BasicMessageTypeRoom room = new BasicMessageTypeRoom(); room.Initialize(); CustomizeMessageTypeRoom room2 = new CustomizeMessageTypeRoom(); room2.Initialize(); FileMessageTypeRoom room3 = new FileMessageTypeRoom(); room3.Initialize(); P2PSessionMessageTypeRoom room4 = new P2PSessionMessageTypeRoom(); room4.Initialize(); FriendsMessageTypeRoom room5 = new FriendsMessageTypeRoom(); room5.Initialize(); GroupMessageTypeRoom room6 = new GroupMessageTypeRoom(); room6.Initialize(); ContactsMessageTypeRoom room7 = new ContactsMessageTypeRoom(); room7.Initialize(); this.class113_0 = new BasicOutter(); this.class113_0.SetBasicMessageTypeRoom(room); this.class113_0.SetActionType(class4); this.class113_0.SetStreamContract(class2); this.class113_0.SetICommitMessageToServer((ICommitMessageToServer)this.object_0); this.class113_0.NgadStsqsh += new CbGeneric(this.method_1); this.class113_0.method_2(userID); this.class71_0 = new Class71(this.class113_0, this.bool_4 ? 0 : this.int_0); Class78 class9 = new Class78(); class9.method_5(this.class113_0); class9.method_1(room); class9.method_2(class2); class9.method_4((ICommitMessageToServer)this.object_0); class9.method_3(class4); this.class43_0 = new Class43(); this.class43_0.method_5(class4); this.class43_0.method_4(class2); this.class43_0.method_3(room2); this.class43_0.method_1(userID); CustomizeProcess class10 = new CustomizeProcess(); class10.SetStreamContractHelper(class2); class10.SetCustomizeHandler(customizeHandler); class10.SetCustomizeMessageTypeRoom(room2); class10.SetActionType(class4); class10.Event_0 += new CbGeneric <string, int, byte[], string>(this.OnMessageReceived); Class75 class7 = new Class75(class4, class2, room4); class7.method_1(userID); Class24 class8 = new Class24(); class8.method_0(room4); class8.method_1(class2); class8.DaTyrcXefU(class7); this.class2_0 = new FileTransfering(); this.class2_0.method_0(this.emptyAgileLogger_0); this.class13_0 = new FileHandler(); this.class13_0.method_0(this.emptyAgileLogger_0); this.class2_0.TTL4ResumedFileItem = this.advancedOptions_0.TempFile4ResumedTTL; this.class13_0.method_1(class4); this.class13_0.method_3(class2); this.class13_0.imethod_1(0x100000); this.class13_0.method_7(this.advancedOptions_0.UseWorkThreadPool); this.class13_0.Initialize(userID, room3.FilePackageData); this.class28_0 = new Class28(); this.class28_0.method_2(this.advancedOptions_0.CheckFileZeroSpeedSpanInSecs); this.class28_0.method_0(this.emptyAgileLogger_0); this.class28_0.method_13(room3); this.class28_0.method_14(class2); this.class28_0.method_16(class4); this.class28_0.method_12(this.class2_0); this.class28_0.method_11(this.class13_0); this.class28_0.Initialize(userID); Class70 class11 = new Class70(); class11.method_0(room3); class11.method_1(class2); class11.method_3(this.class13_0); class11.method_2(this.class2_0); class11.method_4(this.class28_0); this.class126_0 = new FriendsOutter(); this.class126_0.method_4(class4); this.class126_0.method_3(class2); this.class126_0.method_2(room5); this.class126_0.FriendOffline += new CbGeneric <string>(this.method_6); this.class126_0.method_1(userID); Class59 class12 = new Class59(); class12.method_2(class2); class12.method_3(this.class126_0); class12.method_1(room5); this.class19_0 = new GroupOutter2(); this.class19_0.method_0(class4); this.class19_0.uBkeyEkxPJ(class2); this.class19_0.Iibebiqvn1(room6); this.class19_0.SetCommitMessageToServer((ICommitMessageToServer)this.object_0); this.class19_0.GroupmateOffline += new CbGeneric <string>(this.method_7); this.class19_0.method_4(userID); Class140 class13 = new Class140(); class13.method_0(room6); class13.method_2(this.class19_0); class13.method_1(class2); this.ContactsOutter_0 = new ContactsOutter(); this.ContactsOutter_0.method_2(class4); this.ContactsOutter_0.SetStreamContract(class2); this.ContactsOutter_0.SetMessageType(room7); this.ContactsOutter_0.SetCommitMessageToServer((ICommitMessageToServer)this.object_0); this.ContactsOutter_0.ContactsOffline += new CbGeneric <string>(this.method_8); this.ContactsOutter_0.method_5(userID); Class20 class14 = new Class20(); class14.SetMessageType(room7); class14.SetOutter(this.ContactsOutter_0); class14.SetStreamContract(class2); IProcess[] processers = new IProcess[] { class9, class10, class8, class11, class12, class13, class14 }; this.class141_0 = new Class141(processers, this.class72_0); this.class141_0.method_6(this.advancedOptions_0.AsynMessageQueueEnabled && !this.bool_4); this.class141_0.method_7(class4); this.class141_0.method_4(this.emptyAgileLogger_0); this.class141_0.method_8(); new Class40(new IMessageTypeRoom[] { room, room2, room3, room4, room5, room6, room7 }, this.class141_0).method_2(); MessageDispatcher class6 = new MessageDispatcher(new Class144(new Class115(this.class141_0)), class3); class6.imethod_0(this.emptyAgileLogger_0); this.object_0.SetAgileLogger(this.emptyAgileLogger_0); this.object_0.Sock5ProxyInfo = this.sock5ProxyInfo_0; this.object_0.SetAgileIPE(new AgileIPE(serverIP, serverPort)); this.object_0.SetStreamContract(class2); this.object_0.imethod_12(class6); this.object_0.imethod_10(GlobalUtil.MaxLengthOfMessage); this.object_0.AutoReconnect = false; this.object_0.imethod_23((this.advancedOptions_0.WriteTimeoutInSecs <= 0) ? -1 : (this.advancedOptions_0.WriteTimeoutInSecs * 0x3e8)); this.object_0.SocketSendBuffSize = this.advancedOptions_0.SocketSendBuffSize; this.object_0.UncompletedSendingCount4Busy = this.advancedOptions_0.UncompletedSendingCount4Busy; this.object_0.ConnectionInterrupted += new CbGeneric(this.method_5); this.object_0.imethod_25(new CbGeneric(this.method_4)); this.object_0.ConnectionRebuildStart += new CbGeneric(this.method_2); this.object_0.Initialize(); LogonFullResponse response = this.class113_0.method_7(this.systemToken, this.string_0); if (response.LogonResult != LogonResult.Succeed) { this.object_0.OnDispose(); return(response); } this.object_0.imethod_27(); this.bool_0 = response.Boolean_0; this.bool_3 = response.GroupRelationEnabled; if ((this.bool_0 && this.advancedOptions_0.Boolean_0) && !this.bool_4) { if (response.UseAsP2PServer && (this.agileIPE_0 == null)) { this.agileIPE_0 = new AgileIPE(this.object_0.GetAgileIPE().String_0, this.object_0.GetAgileIPE().Port + 1); } if (this.agileIPE_0 != null) { this.class58_0 = new P2PController(); this.class58_0.method_6(this.agileIPE_0); this.class58_0.method_5(this.emptyAgileLogger_0); this.class58_0.method_3((Interface26)this.object_0); this.class58_0.method_2(class7); this.class58_0.method_4(room4); this.class58_0.P2PChannelClosed += new CbGeneric <P2PChannelState>(this.method_3); this.class58_0.method_7(userID, this.bool_2); interface2.imethod_2(this.class58_0); class8.method_2(this.class58_0); this.class13_0.method_4(new Class56(this.class58_0)); this.class19_0.method_1(this.class58_0); } } if (this.bool_2) { this.class108_0 = new TcpPassiveEngine((Interface26)this.object_0, this.class113_0, this.emptyAgileLogger_0); this.class108_0.method_3(); } this.class71_0.method_0(); this.class113_0.SendHeartBeatMessage(); this.string_3 = userID; this.bool_1 = true; this.object_0.AutoReconnect = this.bool_5; return(response); }
public void SetCustomizeHandler(ICustomizeHandler icustomizeHandler_1) { this.icustomizeHandler_0 = icustomizeHandler_1; }
public MessageBus(ICustomizeHandler handler) { this.handler = handler; }
public void Initialize(int port, ICustomizeHandler customizeHandler, IBasicHandler basicHandler) { if (this.emptyAgileLogger_0 == null) { if (this.string_0 == null) { this.emptyAgileLogger_0 = new EmptyAgileLogger(); } else { FileAgileLogger logger = new FileAgileLogger(this.string_0) { MaxLength4ChangeFile = 0x100000L }; this.emptyAgileLogger_0 = (EmptyAgileLogger)logger; } } Class16 class4 = new Class16(); MessageForbiddenHandler class8 = new MessageForbiddenHandler(); CJPlus.Rapid.WssOptions options = this.wssOptions_0 ?? new CJPlus.Rapid.WssOptions(); this.object_0 = Class157.smethod_0((Enum6)0, true, options.X509Certificate2, options.SslProtocols, options.OnlyWssClient); BasicMessageTypeRoom room3 = new BasicMessageTypeRoom(); room3.Initialize(); this.int_0 = room3.Logon; this.int_1 = room3.HeartBeat; CustomizeMessageTypeRoom room4 = new CustomizeMessageTypeRoom(); room4.Initialize(); FileMessageTypeRoom room2 = new FileMessageTypeRoom(); room2.Initialize(); P2PSessionMessageTypeRoom room = new P2PSessionMessageTypeRoom(); room.Initialize(); FriendsMessageTypeRoom room5 = new FriendsMessageTypeRoom(); room5.Initialize(); GroupMessageTypeRoom room6 = new GroupMessageTypeRoom(); room6.Initialize(); ContactsMessageTypeRoom room7 = new ContactsMessageTypeRoom(); room7.Initialize(); this.class40_0 = new Class40(new IMessageTypeRoom[] { room3, room4, room2, room, room5, room6, room7 }, null); this.class40_0.method_2(); this.class98_0 = new UserManager(); this.class98_0.RelogonMode = RelogonMode.ReplaceOld; this.class98_0.method_2(this.int_2); this.class98_0.SetAgileLogger(this.emptyAgileLogger_0); this.class98_0.method_3((IConnection)this.object_0); this.class98_0.Initialize(); this.class135_0 = new Class135(this.class98_0); RegularSender class5 = new RegularSender(); class5.method_0(this.class98_0); class5.method_2(class8); class5.method_1((IAction)this.object_0); class5.method_3(this.emptyAgileLogger_0); if (basicHandler == null) { basicHandler = new EmptyBasicHandler(); } Class159 class7 = new Class159(); class7.Event_0 += new CbGeneric <string, IPEndPoint>(this.OnConnectionBound); class7.method_1(room3); class7.method_3(class4); class7.method_2(this.class98_0); class7.method_7(this.bool_2); class7.method_5(class5); class7.method_8(this.class21_0.DiagnosticsEnabled ? this.class64_0 : basicHandler); class7.method_9(this.class135_0); class7.method_10(this.igroupManager_0 != null); class7.method_12(this.bool_3); class7.method_14(this.bool_4); class7.method_15(); this.class159_0 = class7; if (customizeHandler == null) { customizeHandler = new EmptyCustomizeHandler(); } Server class2 = new Server(); class2.SetStreamContract(class4); class2.SetAgileLogger(this.emptyAgileLogger_0); class2.SetICustomizeHandler(this.class21_0.DiagnosticsEnabled ? this.class64_0 : customizeHandler); class2.SetCustomizeMessageTypeRoom(room4); class2.method_1(class5); class2.SetUserManager(this.class98_0); class2.method_8(this.int_3); class2.method_11(this.class21_0.CheckResponseTTL4Query ? 10 : 0); class2.method_9(this.class135_0); class2.Event_0 += new CbGeneric <string, int, byte[], string>(this.method_6); class2.method_14(this.class21_0.CustomizeInfoHandleMode, this.class21_0.QueueWorkerThreadCount); this.class21_0.method_0((IConnection)this.object_0, this.class21_0.DiagnosticsEnabled ? this.class64_0.method_0() : null, class2.method_13()); this.class112_0 = class2; Class132 class3 = new Class132(); class3.method_1(room); class3.method_0(class4); class3.method_2(class5); class3.method_3(this.class98_0); class3.method_4(this.class135_0); class3.method_5(this.emptyAgileLogger_0); this.class2_0 = new FileTransfering(); this.class2_0.method_0(this.emptyAgileLogger_0); this.class13_0 = new FileHandler(); this.class13_0.method_0(this.emptyAgileLogger_0); this.class2_0.TTL4ResumedFileItem = this.class21_0.TempFile4ResumedTTL; this.class13_0.method_2(class5); this.class13_0.method_3(class4); this.class13_0.imethod_1(0x100000); this.class13_0.method_4(new Class3(0x800)); this.class13_0.method_7(this.class21_0.UseWorkThreadPool); this.class13_0.Initialize("_0", room2.FilePackageData); this.class27_0 = new Parameterized(port); this.class27_0.method_2(this.class21_0.CheckFileZeroSpeedSpanInSecs); this.class27_0.method_0(this.emptyAgileLogger_0); this.class27_0.method_11(this.class13_0); this.class27_0.method_13(room2); this.class27_0.method_12(this.class2_0); this.class27_0.method_14(class4); this.class27_0.method_15(class5); this.class27_0.method_3("_0"); Class69 class6 = new Class69(); class6.method_0(room2); class6.method_6(class5); class6.method_1(class4); class6.method_3(this.class13_0); class6.method_2(this.class2_0); class6.method_4(this.class27_0); this.class98_0.SomeOneDisconnected += new CbGeneric <UserData, DisconnectedType>(this.method_8); this.class25_0.method_6(this.class21_0.DiagnosticsEnabled ? this.class64_0 : this.ifriendsManager_0); this.class25_0.method_1(room5); this.class25_0.method_7(this.class135_0); this.class25_0.method_3(class4); this.class25_0.method_5(class5); this.class25_0.method_2(this.class98_0); this.class25_0.method_9(); this.class139_0.SetMessageTypeRoom(room6); this.class139_0.method_2(class4); this.class139_0.method_4(class5); this.class139_0.method_0(this.class98_0); this.class139_0.SetGroupManager(this.class21_0.DiagnosticsEnabled ? this.class64_0 : this.igroupManager_0); this.class139_0.method_6(this.class135_0); this.class139_0.Init(); this.class60_0.method_1(room7); this.class60_0.method_2(class4); this.class60_0.method_4(class5); this.class60_0.method_0(this.class98_0); this.class60_0.method_5(this.class21_0.DiagnosticsEnabled ? this.class64_0 : this.icontactsManager_0); this.class60_0.method_6(this.class135_0); this.class60_0.method_7(); IProcess[] processers = new IProcess[] { class7, class2, class6, class3, this.class25_0, this.class139_0, this.class60_0 }; MessageDispatcher class9 = new MessageDispatcher(new Class144(new Class115(processers)), class8); class9.imethod_0(this.emptyAgileLogger_0); this.object_0.imethod_22(this); this.object_0.SetAgileLogger(this.emptyAgileLogger_0); this.object_0.LjXdpkRter(this.string_1); this.object_0.SetData(port); this.object_0.imethod_10(GlobalUtil.MaxLengthOfMessage); this.object_0.SetStreamContract(class4); this.object_0.imethod_12(class9); this.object_0.SocketSendBuffSize = this.class21_0.SocketSendBuffSize; this.object_0.imethod_26((this.class21_0.WriteTimeoutInSecs <= 0) ? -1 : (this.class21_0.WriteTimeoutInSecs * 0x3e8)); this.object_0.MaxChannelCacheSize = this.class21_0.MaxChannelCacheSize; this.object_0.Boolean_0 = this.class21_0.Boolean_0; this.object_0.AsynConnectionEvent = this.class21_0.AsynConnectionEvent; this.object_0.UncompletedSendingCount4Busy = this.class21_0.UncompletedSendingCount4Busy; ((BaseTcpEngine)this.object_0).method_1(new Class119(class2, this.class98_0)); this.object_0.Initialize(); if (this.bool_1) { this.class17_0 = new Class17(this.class98_0, new SecurityFileLogger(this.emptyAgileLogger_0)); this.class17_0.method_2(); } if (this.bool_3) { this.object_1 = this.method_9(port + 1); } this.class64_0.ieduNnurne(customizeHandler, basicHandler, this.igroupManager_0, this.ifriendsManager_0, this.icontactsManager_0); this.bool_0 = true; }
public void Initialize(int port, ICustomizeHandler customizeHandler) { this.Initialize(port, customizeHandler, null); }
public ChannelClientHandler(ICustomizeHandler handler) { this.MessageBus = new MessageBus(handler); }