示例#1
0
        static void Main(string[] args)
        {
            Console.WriteLine("Opening connection...");
            using (ITwitterMessageService connection = new TcpMessageService(10101, "localhost", new ConsoleLogger()))
            {
                connection.OnMessageRecieved.Subscribe(ReceiveMessage);
                connection.Start();
                Console.WriteLine("Connection opened.");
                Console.WriteLine("Type 'exit' to close connection.");

                string line = null;
                while ((line = Console.ReadLine()) != null)
                {
                    if (line.ToLowerInvariant().Equals("exit"))
                    {
                        break;
                    }
                    else
                    {
                        connection.Send(line);
                    }
                }
            }
            Console.WriteLine("Closing connection...");
        }
 public void CanRecieveMessagesFromExternalSource()
 {
     TcpMessageService tcpMessageService = new TcpMessageService(null, null);
     List<string> messages = new List<string>();
     tcpMessageService.MessageRecieved("hello");
     tcpMessageService.OnMessageRecieved.Subscribe(message => messages.Add(message));
     tcpMessageService.MessageRecieved("hello");
     Assert.IsTrue(messages.Count == 1);
 }
        public void CanReceiveMessagesFromSubscribedClients()
        {
            ITwitterMessageService twitterMessageService = new TcpMessageService(null, null);

            ITwitterHandler twitterHandler = new TwitterHandler();
            twitterHandler.Add(twitterMessageService);

            List<string> messages = new List<string>();
            twitterMessageService.OnMessageRecieved.Subscribe(message => messages.Add(message));

            twitterMessageService.MessageRecieved("is there somebody out there?");

            Assert.IsTrue(messages.Count == 1);
        }
示例#4
0
 public void Start()
 {
     _tcpListener = new TcpListener(IPAddress.Parse(_tcpEndpointDetails.IpAddress), _tcpEndpointDetails.Port);
     _tcpListener.Start();
     try
     {
         TcpClient tcpClient = null;
         while ((tcpClient = _tcpListener.AcceptTcpClient()) != null)
         {
             ITwitterMessageService twitterClient = new TcpMessageService(tcpClient, _logger);
             _twitterHandler.Add(twitterClient);
             twitterClient.Start();
             _logger.LogMessage("Listener added new Tcp Client : " + twitterClient.SessionId);
         }
         _listenerStatus = ListenerStatus.Started;
     }
     catch (SocketException ex)
     {
         _logger.LogException("Start - Listener: ", ex);
     }
 }