我在监听指定端口时遇到问题。我有以下代码:
Socket = new Socket(AddressFamily.InterNetwork, SocketType.Raw, ProtocolType.Unspecified);
Socket.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.ReuseAddress, 1);
Socket.Bind(new IPEndPoint(localAddr, 80));
Socket.SetSocketOption(SocketOptionLevel.IP, SocketOptionName.HeaderIncluded, true);
Socket.IOControl(IOControlCode.ReceiveAll, BitConverter.GetBytes(1), BitConverter.GetBytes(0));
Socket.BeginReceive(Buffer, 0, Buffer.Length, SocketFlags.None, new AsyncCallback(ReadCallback), null);
一切似乎都很好,我捕获了传入和传出的数据包,我拥有我需要的所有信息,只有一个例外 - 它侦听所有端口,而不仅仅是我在 Bind() 方法中指定的 80。有谁知道如何在端口 80 上读取这些内容?