Exemplo n.º 1
0
        static void Main(string[] args)
        {
            //Create chat server instance
            var chatServer = new ChatServer();

            //Remote Hub
            var siteId = ServerId.SiteId;

            remoteHub = new RemoteHubOverRedis <string>(siteId, connectionString, OnMessageReceivedFromRemoteHub);
            remoteHub.RemoteClientRemoved += RemoteHub_RemoteClientRemoved;

            //Remote Agency
            remoteAgency = new RemoteAgencyManagerEncapsulated(false, true, siteId);
            remoteAgency.MessageForSendingPrepared += OnMessageForSendingPrepared;
            remoteAgency.AddServiceWrapper <IChatServer>(chatServer, ServerId.ServiceId);

            remoteHub.Start();
            remoteAgency.Connect();

            Console.WriteLine("Chat server is started. Press any key to quit.");
            Console.ReadKey(true);

            remoteAgency.Disconnect(false);
            remoteHub.Stop();
            remoteAgency.Dispose();
            remoteHub.Dispose();
        }
Exemplo n.º 2
0
        static void Main(string[] args)
        {
            //Init
            Console.Write("Enter your name and press enter <Empty = Exit>: ");
            var name = Console.ReadLine();

            if (string.IsNullOrWhiteSpace(name))
            {
                return;
            }

            //Remote Hub
            var siteId = Guid.NewGuid();

            remoteHub = new RemoteHubOverRedis <string>(siteId, connectionString, OnMessageReceivedFromHub);

            //Remote Agency
            remoteAgency = new RemoteAgencyManagerEncapsulated(true, false, siteId);
            remoteAgency.MessageForSendingPrepared += OnMessageForSendingPrepared;
            remoteAgency.DefaultTargetSiteId        = ServerId.SiteId;
            var chatServer = remoteAgency.AddProxy <IChatServer>(ServerId.ServiceId, out var instanceId);

            remoteHub.Start();
            remoteAgency.Connect();

            chatServer.MessageReceived += ChatServer_MessageReceived;

            Console.WriteLine("Started. Please chat and press enter. Empty = Exit.");

            while (true)
            {
                var text = Console.ReadLine();
                if (string.IsNullOrWhiteSpace(text))
                {
                    break;
                }
                chatServer.SendMessage(name, text);
            }


            ((IDisposable)chatServer).Dispose();

            remoteAgency.Disconnect(false);
            remoteHub.Stop();
            remoteAgency.Dispose();
            remoteHub.Dispose();
        }