次のコードについて
Socket s = new Socket(AddressFamily.InterNetwork, SocketType.Raw, ProtocolType.IP);
s.Bind(new System.Net.IPEndPoint(IPAddress.Parse("127.0.0.1"),0));
s.SetSocketOption(SocketOptionLevel.IP, SocketOptionName.HeaderIncluded, true);
byte[] bin = new byte[4]{1, 0, 0, 0};
byte[] bout = new byte[4];
s.IOControl(IOControlCode.ReceiveAll, bin, bout);
次の例外が発生します。
Socket Exception: An invalid argument was supplied
次の行で
s.IOControl(IOControlCode.ReceiveAll, in, out);
しかし、なぜ私が間違った議論をしたのか理解できません。