コード例 #1
0
        /// <summary>
        ///
        /// </summary>
        public void Start()
        {
            Listener.Bind(EndPoint);
            Listener.Listen(MaxQueueLength);

            Listener.BeginAccept(new AsyncCallback(_AcceptCallback), null);
        }
コード例 #2
0
        public void StartServer(string host, int port, int maxServerCount)
        {
            this.port        = port.ToString();
            this.ip          = host;
            _serverListener  = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
            _clientPool      = new IndexObjectPool <Connection>(maxServerCount);
            _frameList       = new List <byte[]>();
            Listener.NoDelay = true;
            timer            = new Timer(100);
            timer.AutoReset  = true;
            timer.Elapsed   += SendStepAll;
            timer.Enabled    = true;
            Listener.Bind(new IPEndPoint(IPAddress.Parse(host), port));
            Listener.Listen(maxServerCount);
            Listener.BeginAccept(AcceptCallBack, Listener);
            _stepMessage = new byte[maxServerCount][];
            // framSize = 0;
            //for (int i = 0; i < _stepMessage.Length; i++)
            //{
            //    _stepMessage[i] = new byte[framSize];
            //}
            //ClientPool.Clear();

            ServerLog.LogServer("服务器启动成功", 0);
        }
コード例 #3
0
 private SocketServer(IPHostEntry info) : base(info)
 {
     Listener.Bind(new IPEndPoint(info.AddressList[0], 9000));
     Listener.Listen(2);
     SocketIds = new List <int>()
     {
         0
     };
 }
コード例 #4
0
 public void Bind()
 {
     try
     {
         IPEndPoint localEndPoint = new IPEndPoint(IPAddress.Loopback, Port);
         Listener.Bind(localEndPoint);
         Listener.Listen(ConnectionLimit);
         Bound?.Invoke(this, EventArgs.Empty);
     }
     catch (Exception e)
     {
         OnError?.Invoke(this, e);
     }
 }
コード例 #5
0
 /// <summary>
 /// 监听初始化
 /// </summary>
 private void InitListener()
 {
     if (SAEA != null && Listener != null)
     {
         SAEA.Dispose();
         Listener.Dispose();
     }
     SAEA            = new SocketAsyncEventArgs();
     SAEA.Completed += AccepetCallBack;
     Listener        = CT.GetTCPSocketInstance();
     Listener.Bind(IPEndPoint);
     //监听数量
     Listener.Listen(TokenPool.Count);
     StartAccept(SAEA);
 }
コード例 #6
0
        public void StartServer()
        {
            _serverListener  = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
            Listener.NoDelay = true;
            timer            = new Timer(100);
            timer.AutoReset  = true;
            timer.Elapsed   += SendStepAll;
            timer.Enabled    = true;
            Listener.Bind(new IPEndPoint(IPAddress.Parse(this.IP), this.Port));
            Listener.Listen(this._maxConnectNum);
            Listener.BeginAccept(AcceptCallBack, Listener);
            _frameList   = new List <byte[]>();
            _stepMessage = new byte[this._maxConnectNum][];

            ServerLog.LogServer("服务器启动成功", 0);
        }
コード例 #7
0
ファイル: Gateway.cs プロジェクト: antzsmt/RetroClash
        public async Task StartAsync()
        {
            try
            {
                Listener.Bind(new IPEndPoint(IPAddress.Any, Resources.Configuration.ServerPort));
                Listener.Listen(Configuration.MaxClients);

                Console.ForegroundColor = ConsoleColor.Cyan;
                Console.WriteLine($"RetroClash is listening on {Utils.GetIp4Address()}:{((IPEndPoint)Listener.LocalEndPoint).Port}. Let's play Clash of Clans!");
                Console.ResetColor();

                await StartAccept();
            }
            catch (Exception)
            {
                Logger.Log("Port is already in use. Check if another instance of this application is running.");
                Environment.Exit(0);
            }
        }
コード例 #8
0
 public void Bind(IPEndPoint localEndPoint)
 {
     Listener.Bind(localEndPoint);
 }