예제 #1
0
        public void SendDataWhenOffline()
        {
            _server.Start(46421);
            _receivedMessages = 0;

            WsAbsoluteConnector connector = new WsAbsoluteConnector(TimeSpan.FromMilliseconds(600));

            connector.AddHost("ws://127.0.0.1:46421");

            connector.Run();
            System.Threading.Thread.Sleep(150);

            connector.Send("Message 1");

            for (int i = 0; i < 19; i++)
            {
                connector.GetClient().Disconnect();
                connector.Send("Message");

                while (!connector.IsConnected)
                {
                    System.Threading.Thread.Sleep(50);
                }
            }

            System.Threading.Thread.Sleep(3000);
            Assert.Equal(20, _receivedMessages);
        }
예제 #2
0
        public void ReceiveData()
        {
            _server.Start(46433);
            System.Threading.Thread.Sleep(250);
            int _receivedFromServer = 0;

            WsAbsoluteConnector connector = new WsAbsoluteConnector(TimeSpan.FromSeconds(1));

            connector.AddHost("ws://127.0.0.1:46433");
            connector.MessageReceived += (client, message) => _receivedFromServer++;
            connector.Run();

            System.Threading.Thread.Sleep(1000);
            Assert.Equal(1, _receivedFromServer);
        }
예제 #3
0
        public void SendData()
        {
            _server.Start(46432);
            System.Threading.Thread.Sleep(250);

            WsAbsoluteConnector connector = new WsAbsoluteConnector(TimeSpan.FromSeconds(1));

            connector.AddHost("ws://127.0.0.1:46432");
            connector.Run();
            System.Threading.Thread.Sleep(250);

            _receivedMessages = 0;
            connector.Send("Hello!");
            System.Threading.Thread.Sleep(1000);

            Assert.Equal(1, _receivedMessages);
        }
예제 #4
0
        public async Task Connect()
        {
            _server.Start(46431);
            await Task.Delay(1250);

            WsAbsoluteConnector connector = new WsAbsoluteConnector(TimeSpan.FromMilliseconds(500));

            connector.AddHost("ws://127.0.0.1:46431");
            connector.Run();
            await Task.Delay(1250);

            Assert.True(connector.IsConnected);

            SocketBase client = connector.GetClient();

            Assert.NotNull(client);
            Assert.True(client.IsConnected);
        }
예제 #5
0
        public void Connect()
        {
            _server.Start(46431);
            System.Threading.Thread.Sleep(250);

            WsAbsoluteConnector connector = new WsAbsoluteConnector(TimeSpan.FromSeconds(1));

            connector.AddHost("ws://127.0.0.1:46431");
            connector.Run();
            System.Threading.Thread.Sleep(1000);

            Assert.True(connector.IsConnected);

            SocketBase client = connector.GetClient();

            Assert.NotNull(client);
            Assert.True(client.IsConnected);
        }
예제 #6
0
        public void DisconnectMultipleTimes()
        {
            int connectionCount = 0;

            _server.Start(46422);
            WsAbsoluteConnector connector = new WsAbsoluteConnector(TimeSpan.FromMilliseconds(50));

            connector.AddHost("ws://127.0.0.1:46422");
            connector.Connected += c => connectionCount++;

            connector.Run();
            System.Threading.Thread.Sleep(150);

            for (int i = 0; i < 19; i++)
            {
                connector.GetClient().Disconnect();
                System.Threading.Thread.Sleep(250);
            }

            Assert.Equal(20, connectionCount);
        }
예제 #7
0
 /// <summary>
 /// Sends string websocket message
 /// </summary>
 public static async Task <bool> SendAsync(this WsAbsoluteConnector connector, string message)
 {
     return(await SendInternalAsync(connector, message));
 }
예제 #8
0
 /// <summary>
 /// Sends string websocket message
 /// </summary>
 public static bool Send(this WsAbsoluteConnector connector, string message)
 {
     return(SendInternal(connector, message));
 }