How does one set the TOS flags/DSCP flags in Ruby on a UDP/TCP stream (preferably using the Ruby/Sockets library)?
Asked
Active
Viewed 1,308 times
2 Answers
2
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)
-
This works on Linux. Thanks so far, but would there also be something similar for Windows? – Deadolus Jun 15 '09 at 11:26
0
Try Socket#setsockoption(). Its documented in Appendix A of the pickaxe book, or you can browse the source for interface details.
-- MarkusQ

MarkusQ
- 21,814
- 3
- 56
- 68