コード例 #1
0
ファイル: ServersManager.cs プロジェクト: vf1/serversockets
        public ServersManager(ServersManagerConfig config)
        {
            if (BufferManager.IsInitialized() == false)
            {
                BufferManager.Initialize(256);                 // Mb
            }
            if (EventArgsManager.IsInitialized() == false)
            {
                EventArgsManager.Initialize();
            }

            this.running = false;

            this.sync          = new object();
            this.protocolPorts = new List <ProtocolPort>();
            this.servers       = new ThreadSafeDictionary <ServerEndPoint, Server <C> >();
            this.fakeServers   = new ThreadSafeDictionary <ServerEndPoint, Server <C> >();

            this.AddressPredicate  = DefaultAddressPredicate;
            this.FakeAddressAction = DefaultFakeAddressAction;

            this.config = config;

            this.nextPort = config.MinPort;

            this.logger = new Logger();
        }
コード例 #2
0
 public override void Start()
 {
     lock (this.sync)
     {
         this.isRunning   = true;
         this.connections = new ThreadSafeDictionary <EndPoint, Server <C> .Connection <C> >();
         this.listener    = new Socket(this.realEndPoint.AddressFamily, SocketType.Stream, ProtocolType.Tcp);
         this.listener.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.ReuseAddress, 1);
         this.listener.Bind(this.realEndPoint);
         this.listener.Listen(0);
         ThreadPool.QueueUserWorkItem(new WaitCallback(this.EnqueueAsyncAccepts), null);
     }
 }
コード例 #3
0
ファイル: ServersManager.cs プロジェクト: KhaledSMQ/SipServer
 public ServersManager(ServersManagerConfig config)
 {
     if (!BufferManager.IsInitialized())
     {
         BufferManager.Initialize(256);
     }
     if (!EventArgsManager.IsInitialized())
     {
         EventArgsManager.Initialize();
     }
     this.running           = false;
     this.sync              = new object();
     this.protocolPorts     = new List <ProtocolPort>();
     this.servers           = new ThreadSafeDictionary <ServerEndPoint, Server <C> >();
     this.fakeServers       = new ThreadSafeDictionary <ServerEndPoint, Server <C> >();
     this.AddressPredicate  = new Func <NetworkInterface, IPInterfaceProperties, UnicastIPAddressInformation, bool>(ServersManager <C> .DefaultAddressPredicate);
     this.FakeAddressAction = new Func <ServerEndPoint, IPEndPoint>(ServersManager <C> .DefaultFakeAddressAction);
     this.config            = config;
     this.nextPort          = config.MinPort;
     this.logger            = new Logger();
 }