From: Terje Elde Date: 2002-05-20T10:49:23+09:00 Subject: Binary network protocols Hi, I'm starting on a projects which requires me to use a spesific network protocol. This protocol demands that I write certain size fields in Int16, and other values as Int32. The rest is just plain text. While looking around I've found little or no indications of how to write a number of a spesific size (ie, int16) to a network socket, or how to deal with it at all. I found a seemingly old int package which would allow me to do things like 100.prec(Int16), but it doesn't seem to work: irb(main):004:0> require '/usr/local/lib/ruby/1.6/site_ruby/i386-freebsd4/num/int.so' true irb(main):005:0> 100.prec(Int16) 100 irb(main):006:0> foo = 100.prec(Int16) 100 irb(main):007:0> putc foo SystemStackError: stack level too deep from (irb):7:in `putc' from (irb):7 irb(main):008:0> The simple goal is to be able to write numbers of size Int16 or Int32 to a socket. Any help appreciated, Terje