示例#1
0
        protected void SetUpNetworkChannels(INetworkChannel client, INetworkChannel client2, INetworkChannel server)
        {
            Client1 = client;
            Client2 = client2;
            Server  = server;

            ServerOnConnectClients     = new List <Client>();
            ServerOnDisconnectClients  = new List <Client>();
            Client1OnConnectClients    = new List <Client>();
            Client1OnDisconnectClients = new List <Client>();

            serverObjectTransport = TestObjectTransportFactory.CreateNewObjectTransport(Server);
            serverObjectTransport.OnClientConnect(c => ServerOnConnectClients.Add(c));
            serverObjectTransport.OnClientDisconnect(c => ServerOnDisconnectClients.Add(c));
            serverObjectTransport.Start("127.0.0.1", 0);

            Utilities.WaitFor(() => server.LocalPort != 0);

            Client1ObjectTransport = TestObjectTransportFactory.CreateNewObjectTransport(Client1);
            Client1ObjectTransport.OnClientConnect(c => Client1OnConnectClients.Add(c));
            Client1ObjectTransport.OnClientDisconnect(c => Client1OnDisconnectClients.Add(c));
            Client1ObjectTransport.Start("127.0.0.1", Server.LocalPort);

            //Wait for the connection to have been made
            Utilities.WaitFor(() => serverObjectTransport.GetConnectedClients().Count() == 1);
            Utilities.WaitFor(() => Client1ObjectTransport.GetConnectedClients().Count() == 1);
        }