2

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

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

任何建议将不胜感激。

4

1 回答 1

2

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

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

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

不确定您要将其设置为什么值,但这应该可以...

于 2009-02-23T21:27:51.167 回答