From: "Luis G." Date: 2010-12-17T21:09:02+09:00 Subject: Re: How to do UDP calls Hello again. Man, thanks a lot for you time. You've been a really great help. first question, shouldn't the array just contain 3 element? 64-bit integer connection_id 0x41727101980 32-bit integer action 0 32-bit integer transaction_id 16 I tried to run the script with the information you gave me. So far I have this: host = 'tracker.openbittorrent.com' port = 80 connection_id = 0x41727101980 s = [connection_id >> 32, connection_id & 0xffffffff, 0, 16].pack('NNNN') sock = UDPSocket.open sock.connect(host, port) sock.send(s, 0) response = sock.recvfrom(1024) And actually now I have something in the 'response' variable. If I print the content I got something like ["\000\000\000\000\000\000\000\020#B\005\027�AP\377", ["AF_INET", 80, "tracker.openbittorrent.com", "95.215.62.5"]] And STDERR.puts response.unpack("H*").first will return >> 000000000000001023420517de4150ff In the documentation says that 'Check whether the transaction ID is equal to the one you chose.'. So basically I should get the same value I sent, right? Thanks, Luis -- Posted via http://www.ruby-forum.com/.