private TcpDuplexServerHostEnvironment() { var protocol = new TcpDuplexServerProtocolSetup(8088, new CustomAuthenticationProvider(), true); _host = new ZyanComponentHost("CustomAuthenticationTestHost_TcpDuplex", protocol); _host.RegisterComponent <ISampleServer, SampleServer>("SampleServer", ActivationType.SingleCall); }
private TcpDuplexServerHostEnvironment() { var protocol = new TcpDuplexServerProtocolSetup(8092, new NullAuthenticationProvider(), true); _host = new ZyanComponentHost("TcpExConnectionLockRegressionTestHost_TcpDuplex", protocol); _host.RegisterComponent <ISampleServer, SampleServer>("SampleServer", ActivationType.SingleCall); }
public override void Run() { Trace.WriteLine("Zyan.Examples.MiniChat.AzureWorkerRole entry point called", "Information"); IPEndPoint endPoint = RoleEnvironment.CurrentRoleInstance.InstanceEndpoints["MiniChat"].IPEndpoint; TcpDuplexServerProtocolSetup protocol = new TcpDuplexServerProtocolSetup(endPoint.Port, new NicknameAuthProvider(), true); ActiveNicknames = new List <string>(); ZyanComponentHost host = new ZyanComponentHost("MiniChat", protocol); host.RegisterComponent <IMiniChat, Zyan.Examples.MiniChat.Server.MiniChat>(ActivationType.Singleton); host.ClientLoggedOn += new EventHandler <LoginEventArgs>((sender, e) => { Trace.WriteLine(string.Format("{0}: User '{1}' with IP {2} logged on.", e.Timestamp.ToString(), e.Identity.Name, e.ClientAddress)); ActiveNicknames.Add(e.Identity.Name); }); host.ClientLoggedOff += new EventHandler <LoginEventArgs>((sender, e) => { Trace.WriteLine(string.Format("{0}: User '{1}' with IP {2} logged off.", e.Timestamp.ToString(), e.Identity.Name, e.ClientAddress)); ActiveNicknames.Remove(e.Identity.Name); }); while (true) { Thread.Sleep(10000); Trace.WriteLine("Working", "Information"); } }
private EventServer() { _catalog = new ComponentCatalog(); _catalog.RegisterComponent <IEventComponentSingleton, EventComponentSingleton>(ActivationType.Singleton); _catalog.RegisterComponent <IEventComponentSingleCall, EventComponentSingleCall>(ActivationType.SingleCall); _catalog.RegisterComponent <ICallbackComponentSingleton, CallbackComponentSingleton>(ActivationType.Singleton); _catalog.RegisterComponent <ICallbackComponentSingleCall, CallbackComponentSingleCall>(ActivationType.SingleCall); _catalog.RegisterComponent <IRequestResponseCallbackSingleCall, RequestResponseCallbackSingleCall>(ActivationType.SingleCall); _catalog.RegisterComponent <ITimerTriggeredEvent, TimerTriggeredEvent>(ActivationType.Singleton); // Setting compression threshold to 1 byte means that all messages will be compressed. // This setting should not be used in production code because smaller packets will grow in size. // By default, Zyan only compresses messages larger than 64 kilobytes. var tcpBinaryProtocol = new TcpBinaryServerProtocolSetup(8082); tcpBinaryProtocol.AddServerSinkBeforeFormatter(new CompressionServerChannelSinkProvider(1, CompressionMethod.LZF)); _tcpBinaryHost = new ZyanComponentHost("TcpBinaryEventTest", tcpBinaryProtocol, _catalog); var ipcBinaryProtocol = new IpcBinaryServerProtocolSetup("IpcTestServer"); ipcBinaryProtocol.AddServerSinkBeforeFormatter(new CompressionServerChannelSinkProvider(1, CompressionMethod.DeflateStream)); _ipcBinaryHost = new ZyanComponentHost("IpcBinaryEventTest", ipcBinaryProtocol, _catalog); var tcpCustomProtocol = new TcpCustomServerProtocolSetup(8083, new NullAuthenticationProvider(), true) { CompressionThreshold = 1, CompressionMethod = CompressionMethod.DeflateStream }; _tcpCustomHost = new ZyanComponentHost("TcpCustomEventTest", tcpCustomProtocol, _catalog); var tcpDuplexProtocol = new TcpDuplexServerProtocolSetup(8084, new NullAuthenticationProvider(), true) { CompressionThreshold = 1, CompressionMethod = CompressionMethod.DeflateStream }; tcpDuplexProtocol.AddChannelSetting("bindTo", "127.0.0.1"); _tcpDuplexHost = new ZyanComponentHost("TcpDuplexEventTest", tcpDuplexProtocol, _catalog); var httpCustomProtocol = new HttpCustomServerProtocolSetup(8085, new NullAuthenticationProvider(), true) { CompressionThreshold = 1, CompressionMethod = CompressionMethod.LZF }; _httpCustomHost = new ZyanComponentHost("HttpCustomEventTest", httpCustomProtocol, _catalog); var nullChannelProtocol = new NullServerProtocolSetup(1234); _nullChannelHost = new ZyanComponentHost("NullEventTest", nullChannelProtocol, _catalog); // use legacy blocking events mode because we check the handlers synchronously ZyanSettings.LegacyBlockingEvents = true; ZyanSettings.LegacyBlockingSubscriptions = true; }
private TcpDuplexServerHostEnvironment() { // use default SRP-6a parameters var accounts = new SampleAccountRepository(); var provider = new SrpAuthenticationProvider(accounts); var protocol = new TcpDuplexServerProtocolSetup(8090, provider, true); _host = new ZyanComponentHost("CustomAuthenticationTestHost_TcpDuplex", protocol); _host.RegisterComponent <ISampleServer, SampleServer>("SampleServer", ActivationType.SingleCall); }
public static void Main(string[] args) { var protocol = new TcpDuplexServerProtocolSetup(12345, new NullAuthenticationProvider(), true); using (var host = new ZyanComponentHost("Sample", protocol)) { host.RegisterComponent <ISampleService, SampleService>(); Console.WriteLine("Server started. Press Enter to exit."); Console.ReadLine(); } }
static void Main(string[] args) { var protocol = new TcpDuplexServerProtocolSetup(8081, null, true); using (var host = new ZyanComponentHost("WhisperChat", protocol)) { host.RegisterComponent <IWhisperChatService, WhisperChatService>(ActivationType.SingleCall); Console.WriteLine("Server running."); Console.ReadLine(); } }
public void CreateDisposeAndRecreateComponentHostForTcpDuplexChannel() { var protocol = new TcpDuplexServerProtocolSetup(8086, new NullAuthenticationProvider(), true); using (var host = new ZyanComponentHost("RecreateClientConnectionTestHost_TcpDuplex", protocol)) { host.RegisterComponent <ISampleServer, SampleServer>("SampleServer", ActivationType.SingleCall); } using (var host = new ZyanComponentHost("RecreateClientConnectionTestHost_TcpDuplex", protocol)) { host.RegisterComponent <ISampleServer, SampleServer>("SampleServer", ActivationType.SingleCall); } }
private void RegisterComponent(int port, string name, RemoteMonitor instance) { TcpDuplexServerProtocolSetup protocol = new TcpDuplexServerProtocolSetup(port); _znHost = new ZyanComponentHost(name, protocol); //_znHost.EnableDiscovery(); //_znHost.RegisterComponent<IMonitor, RemoteMonitor>(ActivationType.Singleton); _znHost.RegisterComponent <IMonitor, RemoteMonitor>(instance); _znHost.ClientLoggedOn += ClientLoggedOn; _znHost.ClientLoggedOff += ClientLoggedOff; Builder.Output(string.Format(ClassName + ": registrado componente {0} en puerto {1}.", name, port), TraceEventType.Verbose); }
static private void StartComponent() { try { _remoteMonitor = new RemoteMonitor(); //Registrar componente / iniciar servidor TcpDuplexServerProtocolSetup protocol = new TcpDuplexServerProtocolSetup(_zsPort); //TcpDuplexServerProtocolSetup protocol = new TcpDuplexServerProtocolSetup(Constants.ServerPort, new BasicWindowsAuthProvider()); _znHost = new ZyanComponentHost(_zsName, protocol); // Enable //_znHost.PollingEventTracingEnabled = true; //_znHost.RegisterComponent<IMonitor, RemoteMonitor>(ActivationType.Singleton); _znHost.RegisterComponent <IMonitor, RemoteMonitor>(_remoteMonitor); _znHost.ClientLoggedOn += new EventHandler <LoginEventArgs>((sender, e) => { Console.WriteLine(string.Format("{0}: User '{1}' with IP {2} logged on.", e.Timestamp.ToString(), e.Identity.Name, e.ClientAddress)); }); _znHost.ClientLoggedOff += new EventHandler <LoginEventArgs>((sender, e) => { Console.WriteLine(string.Format("{0}: User '{1}' with IP {2} logged off.", e.Timestamp.ToString(), e.Identity.Name, e.ClientAddress)); }); // Fin OK sin error Console.WriteLine("ReplyOK"); } catch (Exception ex) { Console.WriteLine("Error: " + ex.Message); } }
static void Main(string[] args) { ActiveNicknames = new List <string>(); TcpDuplexServerProtocolSetup protocol = new TcpDuplexServerProtocolSetup(Properties.Settings.Default.TcpPort, new NicknameAuthProvider(), true); using (ZyanComponentHost host = new ZyanComponentHost("MiniChat", protocol)) { host.PollingEventTracingEnabled = true; host.ClientHeartbeatReceived += new EventHandler <ClientHeartbeatEventArgs>(host_ClientHeartbeatReceived); host.RegisterComponent <IMiniChat, MiniChat>(ActivationType.Singleton); host.ClientLoggedOn += new EventHandler <LoginEventArgs>((sender, e) => { Console.WriteLine(string.Format("{0}: User '{1}' with IP {2} logged on.", e.Timestamp.ToString(), e.Identity.Name, e.ClientAddress)); ActiveNicknames.Add(e.Identity.Name); }); host.ClientLoggedOff += new EventHandler <LoginEventArgs>((sender, e) => { Console.WriteLine(string.Format("{0}: User '{1}' with IP {2} logged off.", e.Timestamp.ToString(), e.Identity.Name, e.ClientAddress)); ActiveNicknames.Remove(e.Identity.Name); }); host.ClientSessionTerminated += new EventHandler <LoginEventArgs>((sender, e) => { Console.WriteLine(string.Format("{0}: User '{1}' with IP {2} was kicked due to inactivity.", e.Timestamp.ToString(), e.Identity.Name, e.ClientAddress)); ActiveNicknames.Remove(e.Identity.Name); }); host.EnableDiscovery(); Console.WriteLine("Chat server started. Press Enter to exit."); Console.ReadLine(); } }