Exemplo n.º 1
0
        public void Start(int inport)
        {
            listener            = new NodeServer();
            listener.OnRequest += listener_OnRequest;

            bool trybind = true;
            int  port    = inport;

            do
            {
                try
                {
                    listener.Start(IPAddress.Parse(model.LocalNode.Host), port);
                    trybind = false;
                    if (isServer)
                    {
                        var f = new FAPServerHandler(IPAddress.Parse(model.LocalNode.Host),
                                                     port,
                                                     model,
                                                     container.Resolve <MulticastClientService>(),
                                                     container.Resolve <LANPeerFinderService>(),
                                                     container.Resolve <MulticastServerService>());
                        fap = f;
                        f.Start("Local", "Local");
                    }
                    else
                    {
                        var f = new FAPClientHandler(model, container.Resolve <ShareInfoService>(),
                                                     container.Resolve <IConversationController>(),
                                                     container.Resolve <BufferService>(),
                                                     container.Resolve <ServerUploadLimiterService>());
                        fap = f;
                        f.Start();
                        model.ClientPort = port;
                    }
                }
                catch
                {
                    //Try again
                    port++;
                    if (inport + 100 < port)
                    {
                        throw new Exception("Could to bind listener");
                    }
                }
            } while (trybind);
        }
Exemplo n.º 2
0
        public void Start(int inport)
        {
            listener = new NodeServer();
            listener.OnRequest += listener_OnRequest;

            bool trybind = true;
            int port = inport;
            do
            {
                try
                {
                    listener.Start(IPAddress.Parse(model.LocalNode.Host), port);
                    trybind = false;
                    if (isServer)
                    {
                        var f = new FAPServerHandler(IPAddress.Parse(model.LocalNode.Host),
                                                     port,
                                                     model,
                                                     container.Resolve<MulticastClientService>(),
                                                     container.Resolve<LANPeerFinderService>(),
                                                     container.Resolve<MulticastServerService>());
                        fap = f;
                        f.Start("Local", "Local");
                    }
                    else
                    {
                        var f = new FAPClientHandler(model, container.Resolve<ShareInfoService>(),
                                                     container.Resolve<IConversationController>(),
                                                     container.Resolve<BufferService>(),
                                                     container.Resolve<ServerUploadLimiterService>());
                        fap = f;
                        f.Start();
                        model.ClientPort = port;
                    }
                }
                catch
                {
                    //Try again
                    port++;
                    if (inport + 100 < port)
                    {
                        throw new Exception("Could to bind listener");
                    }
                }
            } while (trybind);
        }