下面是一个创建SOCKET监听的类
用此类创建监听,第一次连接可以成功。但是第二次就失败了,
错误提示是“未从此类上对应的异步方法中返回IAsyncResult对象”
    class Program
    {
        static void Main(string[] args)
        {
            MySocket s = new MySocket();
            s.CreatMonitor();
            Console.ReadLine();
        }
    }
    class MySocket
    {
        private int port = 10000;
        /// <summary>
        /// 创建一个监听端口
        /// </summary>
        public void CreatMonitor()
        {
            Socket acceptSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
            IPAddress localHost = Dns.GetHostAddresses(Dns.GetHostName())[0];
            IPEndPoint localPoint = new IPEndPoint(localHost, port);
            acceptSocket.Bind(localPoint);
            acceptSocket.Listen(200);
            acceptSocket.BeginAccept(new AsyncCallback(AcceptCallBack), acceptSocket); //开始接受连接
        }
        /// <summary>
        /// 有连接进入后执行的方法
        /// </summary>
        /// <param name="ar"></param>
        private void AcceptCallBack(IAsyncResult ar)
        {
            Socket acceptSocket = (Socket)ar.AsyncState;
            try
            {
                Console.WriteLine("有一个连接进入");
                Socket receiveS = acceptSocket.EndAccept(ar); //第二次连接时,会在这里出问题
                acceptSocket.BeginAccept(new AsyncCallback(AcceptCallBack), receiveS);
            }
            catch(Exception e)
            {
                Console.WriteLine(e.Message);
            }
        }
    }