From: khaines@... Date: 2007-09-05T08:07:37+09:00 Subject: Re: Socket send functions only allow you to send strings? On Wed, 5 Sep 2007, Ryan Parmeter wrote: > As far as I can tell, my only option to write to a UDPSocket is to use > the send method, which takes a string. I need to send a 32bit integer > representing the date in a UDP packet and I'd love to use something > like: > > myUDPsocket.send( Time.now.to_i, 0, host, port) > > In my situation I can't change the receiving program to accept a string > or I could do it that way. I can't convert the integer to a string > either because that would blow my 32 bit requirement. Does anyone have > any idea? A string is just a sequence of bytes. It can be anything. In your case, you need to encode a decimal number as returned by Time.now.to_i into 32 bits. myUDPsocket.send( [Time.now.to_i].pack('i') ) That may be what you need. http://ruby-doc.org/core/classes/Array.html#M002245 For more information. Kirk Haines