From: Heesob Park Date: 2008-08-06T19:17:54+09:00 Subject: Re: rb_sys_fail(socket(2)) - errno == 0 2008/8/6 Daniel Berger : > Glen Holcomb wrote: >> >> On Tue, Aug 5, 2008 at 12:34 PM, Phill Davies >> wrote: >> >>> You can use Ping from the Ruby standard library. >>> >>> require 'ping' >>> Ping.pingecho "google.com", , >>> >>> Where timeout is the number of seconds to wait for a reply (defaults to >>> 5) and port is the port to use (defaults to the 'echo' port) >>> >>> >>> Unless you have something more specific you are trying to do this ought >>> to work. >>> >>> Glen Holcomb wrote: >>>> >>>> That is the error message I get when I try either of these methods for >>>> creating an ICMP packet: >>>> >>>> socket = Socket.new(Socket::PF_INET, Socket::SOCK_RAW, >>>> Socket::IPPROTO_ICMP) >>>> >>>> or >>>> >>>> with net-ping >>>> >>>> icmp = Ping::ICMP.new('machine_name') >>>> >>>> icmp.ping? >>>> >>>> I am on Windows XP. The account I'm logged in as has local >>>> administrator >>>> rights. >>>> >>>> >>>> What I'm trying to do is check to see if a system is up before I try and >>>> make a WIN32OLE connection to it as they take forever to time-out > > It's a problem with the socket.so file that ships with the one click > installer. Take a look at this ticket for more information: > > http://rubyforge.org/tracker/?func=detail&group_id=167&aid=9438&atid=715 > The socket.so has nothing to do with this problem. It's a problem with the msvcrt-ruby18.dll file. That bug is related to the winsock2 compatibility. The OCI version was built with the flag '--with-winsock2'. If you build ruby without '--with-winsock2', it will work fine. Regards, Park Heesob Park Heesob