TCPSocket.new 'Bad file descriptor'

Here’s my very simple script to open a tcp port and write to it.

require ‘socket’
s=TCPSocket.new(“173.30.6.16”, 9990)
s.write(“Hello\n”)
s.close

The TCPSocket.new returns with:

cli.rb:3:in initialize': Bad file descriptor - connect(2) (Errno::EBADF) from cli.rb:3:innew’
from cli.rb:3

The IP address is the PC that I’m running the script from. I’m stumped
because if I replace “173.30.6.16” with “localhost” or “127.0.0.1”, it
works. Any suggestions? I guess it could be a network security issue,
but how can I get around this?

Yes, it’s most probably a network security issue. Check your firewall
settings, and in order to be sure, disable your firewall and try while
firewall is disabled.

Im actually getting this error now as well, and I tried disabling my
firewall, and disabling the settings on my norton AntiVirus.

Ive tried

TCPSocket.new “localhost”,
TCPSocket.new “127.0.0.1”,
TCPSocket.new “”,

These all give the same errors. My mongrel servers work fine as usual. I
don’t know why Im having so much trouble making a TCPSocket connection.

Any thoughts?

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs