socket API getsockopt(IPPROTO_IP, IP_TOS)这个API只能获得自己发出去包的TOS的设置情况。
大家都知道数据是接收和发送;QOS标志是需要双向单方面设置的;那么如何能获得对方发来的包中IP层TOS字段的值?我知道抓包是可以的,但考虑种种情况,这个不是一个好方法,有其他方法吗?
大家都知道数据是接收和发送;QOS标志是需要双向单方面设置的;那么如何能获得对方发来的包中IP层TOS字段的值?我知道抓包是可以的,但考虑种种情况,这个不是一个好方法,有其他方法吗?
解决方案 »
- 获取clistctrl选中的项的图标
- 磁盘格式问题~~(高分求助)
- 请问实现文件共享的编程机制是怎样的?
- 在VC6.0使用水晶报表.简单报表已经搞定,不会做子报表.
- 怎么正确实现:在视图类中发送一个自定义消息给主框架类,让主框架类进行处理?
- 谁有8583的资料(中文)的,谢谢
- 请问,删除装着很多对象的Vector 中的某个对象元素(不是第一,也不是最后) 用什么函数比较好。 。不是单纯的删除内存就好。
- std::vector几十个函数的用法,附VC6源码
- 关于Debug Assertion Failed
- 如何画出.wav文件的声音波形
- 看看这个使HDC变暗变黑的函数怎么没成功
- 如何在VC++6.0中查看虚函数表
其实通过努力搜索终于找到另外一个关键字IP_RECVTOS,但目前还没有实验成功。
抓包会对性能有影响,不到万不得已不采用
getsockopt(s, IPPROTO_IP, IP_TOS, (char*)&tos, sizeof(tos)) IP_TOS 设置或者接收源于该套接字的每个IP包的 Type-Of-Service (TOS 服务类型)字段.它被用来在网络上区分包的优先级. TOS 是单字节的字段.定义了一些的标准 TOS 标识: IPTOS_LOWDELAY 用来为交互式通信最小化延迟时间, IPTOS_THROUGHPUT 用来优化吞吐量, IPTOS_RELIABILITY 用来作可靠性优化, IPTOS_MINCOST 应该被用作"填充数据",对于这些数据,低速传输是无关紧要的.至多只能声明这些 TOS 值中的一个.其它的都是无效的,应当被清除.缺省时,Linux首先发送 IPTOS_LOWDELAY 数据报, 但是确切的做法要看配置的排队规则而定. 一些高优先级的层次可能会要求一个有效的用户标识 0 或者 CAP_NET_ADMIN 能力. 优先级也可以以于协议无关的方式通过( SOL_SOCKET, SO_PRIORITY )套接字选项(参看 socket(7) )来设置.不知道行不行了