问题
How does one set the TOS flags/DSCP flags in Ruby on a UDP/TCP stream (preferably using the Ruby/Sockets library)?
回答1:
You can set the TOS flags with Socket.setsockopt passing IPPROTO_IP
as the level, IP_TOS
as the name of the option, and your desired value:
require 'socket'
s = TCPSocket.new('example.com', 80)
s.setsockopt(Socket::IPPROTO_IP, Socket::IP_TOS, YOUR_TOS_VAL)
回答2:
Try Socket#setsockoption(). Its documented in Appendix A of the pickaxe book, or you can browse the source for interface details.
-- MarkusQ
来源:https://stackoverflow.com/questions/608286/how-to-do-tos-dscp-in-ruby