private void openServer_Click(object sender, EventArgs e)
        {
            //首先,第一点,不能在主线程上while  waitone,这种sb行为都干得出。
            //总之,能不在主线程上做的事就不要在主线程上做。

            Task.Run(() => {
                isRunning = true;

                listenSocket          = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
                IPEndPoint ipEndPoint = new IPEndPoint(serviceIP, servicePort);
                listenSocket.Bind(ipEndPoint);
                listenSocket.Listen(100);
                while (isRunning)
                {
                    //这套东西在主线程上执行时,发生卡死的情况是因为主线程waitone了,异步操作里想要通过主线程执行方法,当然也会卡死。
                    manual.Reset();
                    var acceptArgs = argsPool.PopSocketAsyncEventArgs();
                    if (acceptArgs != null)
                    {
                        listenSocket.AcceptAsync(acceptArgs);
                    }
                    manual.WaitOne();
                }
            });
        }