System.Console.WriteLine("Raw Socket running");
            socket = new Socket(AddressFamily.InterNetwork, SocketType.Raw, ProtocolType.IP);
            byte[] buffer = new byte[4096];
            int rcv_size = 0;
            // socket.Blocking = false;
            socket.Bind(new IPEndPoint(IPAddress.Parse(IP), 0));
            while (true)
            {
                System.Console.WriteLine("开始新一次循环");
                try
                {
                    //socket.BeginReceive(buffer, 0, 10, SocketFlags.None, Callback, null);
                    rcv_size = socket.Receive(buffer);
                    ParseReceive(buffer, rcv_size);
                }
                catch (Exception e)
                {
                    System.Console.WriteLine("异常:" + e.Message);
                    return;
                }
                //System.Threading.Thread.Sleep(500);
                //System.Console.WriteLine("接收到:" + rcv_size.ToString());
            }
程序一运行就停在 rcv_size = socket.Receive(buffer); 这一句上不会往下执行了。请问是什么原因?