如何在C#中设置服务类型位?

时间:2009-02-23 15:11:39

标签: c# networking tcp header

我正在编写一个通过网络发送数据的应用程序,并且需要知道是否可以在IP数据包标头中设置服务类型(ToS)位。任何人都知道这是否得到了C#的支持,如果是的话,我该如何实现呢?

我知道我可以使用原始套接字类型并指定我自己的标头,但我宁愿不必这样做因为我只使用TCP,所以创建整个标头似乎有点无意义当没有设置这些位时可以自动创建三个位。

任何建议都将不胜感激。

1 个答案:

答案 0 :(得分:1)

这不会有用吗? (几乎直接来自TcpClient.Client帮助)

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

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

不确定要将其设置为什么值,但这应该有效...