Beispiel #1
0
        public void AddPeer(Peer peer)
        {
            Peers.Add(peer);
            PeerInputPrinter printer  = new PeerInputPrinter(peer);
            PeerListener     listener = new PeerListener(peer, printer);

            listener.Start();

            if (Peers.Count == 1)
            {
                SessionIndex = 0;
            }
        }
Beispiel #2
0
        private static void setup(string host, int port)
        {
            Common.IO.Console.Message("Connecting...");
            TcpClient client = new TcpClient(host, port);

            Common.IO.Console.Message("Connected");

            Peer            peer     = new Peer(client);
            NetInputHandler iHandler = new NetInputHandler();

            listener = new PeerListener(peer, iHandler);
            listener.Start();

            Model.Peer     = peer;
            Model.Listener = listener;
        }
Beispiel #3
0
        public Task <ListenerSession> Start()
        {
            Action <ListenerStarted> onStarted = hooks.OnListenerStarted;
            TaskCompletionSource <ListenerSession> completion = new TaskCompletionSource <ListenerSession>();

            listener =
                new PeerListenerBuilder()
                .WithNetwork(pool)
                .Build(hooks);

            listener.Hooks.OnListenerStarted = data =>
            {
                onStarted?.Invoke(data);
                completion.SetResult(new ListenerSession(data.Port, pool));
            };

            listener.Start();

            return(completion.Task);
        }