Here's my very simple script to open a tcp port and write to it. require 'socket' s=TCPSocket.new("126.96.36.199", 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:in `new' from cli.rb:3 The IP address is the PC that I'm running the script from. I'm stumped because if I replace "188.8.131.52" 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?
on 2007-03-19 22:20
on 2007-03-20 00:16
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.
on 2007-09-25 03:34
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", <port> TCPSocket.new "127.0.0.1", <port> TCPSocket.new "<computer name>", <port> 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?