SetSocketOption не работает для SocketOptionName.ChecksumCoverage C # - PullRequest
0 голосов
/ 13 июня 2018

Я пытаюсь установить опцию для моего сокета UDP в C # .Net.Я почти уверен, что делаю все как указано в документах Microsoft;однако он выдает исключение «недопустимый аргумент».

    Socket socket;
    socket = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp);
    socket.Bind(new IPEndPoint(IPAddress.Any, port));

    // MUST BE BIND FIRST BEFORE SETTING OPTIONS!
    // To find out what option can be used with what:
    // https://msdn.microsoft.com/en-us/library/1011kecd(v=vs.110).aspx
    socket.SetSocketOption(SocketOptionLevel.Udp, SocketOptionName.NoChecksum, 0);
    socket.SetSocketOption(SocketOptionLevel.Udp, SocketOptionName.ChecksumCoverage, 1);

Исключение выдается правильно, если для параметра SocketOptionName.ChecksumCoverage задано значение 1 или значение true.Я просмотрел документы, это должны быть веские аргументы.Что я делаю не так?

...