我在Java中注意到,可能其他语言中有一个类似于
的Socket选项setTrafficClass(int tc)
我知道我使用的应用程序的流量类别为24,但是尽管谷歌搜索我找不到这些类对应的列表,也没有列出有效的列表。
请赐教。 md_5
答案 0 :(得分:3)
根据specification for Socket.setTrafficClass
,我们看到:
对于Internet协议v4,该值由
integer
组成,其中最低有效8位表示套接字发送的IP数据包中TOS八位字节的值。 RFC 1349定义了TOS值如下:
IPTOS_LOWCOST
(0x02
)IPTOS_RELIABILITY
(0x04
)IPTOS_THROUGHPUT
(0x08
)IPTOS_LOWDELAY
(0x10
)始终忽略最后一个低位,因为这对应于MBZ(必须为零)位。
24
为0x18
,即0x10 | 0x08
,对应IPTOS_THROUGHPUT
和IPTOS_LOWDELAY
设置。
如您所见,TOS仅用作提示;它要求高吞吐量,低延迟的路由......可能会也可能不会提供服务!
您可以在RFC 1349和relevant Wikipedia article here中详细了解服务类型。
答案 1 :(得分:2)
Javadocs有一些细节。实质上,您正在设置数据包的TOS(服务类型)标头。路由网络可以选择将其用作关于如何处理分组的建议(或者它可以完全忽略它)。很多网络实际上并没有对这个领域做任何有意义的事情,所以我不会依赖它的行为。
答案 2 :(得分:1)