/// <summary>
        /// 开始服务
        /// </summary>
        private void Start()
        {
            try
            {
              
                m_serverSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
                IPEndPoint localEndPoint = new IPEndPoint(IPAddress.Parse(m_serverIP), m_serverPort);
                m_serverSocket.Bind(localEndPoint);
                m_serverSocket.Listen(10);                m_serverThread = new Thread(new ThreadStart(ReceiveAccept));
                m_serverThread.Start();
               // ThreadPool.
                m_serverThread.IsBackground = true;
                this.AddRunningInfo(">> " + DateTime.Now.ToString() + " Server started.");
            }
            catch (SocketException se)
            {
                log.Info(se.Message);
               // throw new Exception(se.Message);
            }
            catch (Exception ex)
            {
                log.Info(ex.Message);
            }
        }

解决方案 »

  1.   

      m_serverThread = new Thread(new ThreadStart(ReceiveAccept));
                m_serverThread.Start();
                // ThreadPool.
                m_serverThread.IsBackground = true;=>            ThreadPool.QueueUserWorkItem(status =>
                    {
                        ReceiveAccept();
                    }, null);
      

  2.   

     ThreadPool.QueueUserWorkItem(status =>
                    {
                        ReceiveAccept();
                    }, null);