Как я могу установить биты типа обслуживания в C #? - PullRequest
1 голос
/ 23 февраля 2009

Я пишу приложение для отправки данных по сети, и мне нужно знать, возможно ли установить биты типа обслуживания (ToS) в заголовке IP-пакета. Кто-нибудь знает, поддерживается ли это в C #, и если да, то как мне его реализовать?

Я знаю, что могу использовать необработанный тип сокета и указать свой собственный заголовок, но я бы предпочел не делать этого, так как я использую только TCP, поэтому кажется немного бессмысленным создавать весь заголовок просто так может установить три бита, когда он может быть создан автоматически без установки этих битов.

Любые предложения будут с благодарностью.

1 Ответ

1 голос
/ 24 февраля 2009

Разве это не сработает? (почти прямо из справки TcpClient.Client)

TcpClient client = new TcpClient();
Socket s = client.Client;

if (!s.Connected)
{
   s.SetSocketOption(SocketOptionLevel.IP, 
                     SocketOptionName.TypeOfService, 2);
}

Не уверен, какое значение вы хотите установить, но это должно работать ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...