不能解决的Ruby错误

不能解决的Ruby错误

问题描述:

这可能是我见过的最愚蠢的事情,我有一个与方法发送和红宝石类'套接字'的管道错误错误,我有这个东西4天前,没有找到任何关于它的事情,我有点疯了。不能解决的Ruby错误

我几乎绝望,我在互联网上发现了一个坏的管道错误,但没有发送方法,甚至没有类套接字。 我的代码是这样的:

require 'socket' 
sock = Socket.open(Socket::PF_INET,Socket::SOCK_STREAM,Socket::IPPROTO_TCP) 
@data = "anyThing" 
@addr = pack_sockaddr_in(port, host) 
sock.send(@data, 0, @addr) 

任何帮助的请求......

纠正我,如果我错了,但也许你需要在发送数据之前实际连接到你的主机?我看到你创建一个TCP套接字,但没有形成实际的连接......这个代码是否工作?

require 'socket' 
sock = Socket.open(Socket::PF_INET,Socket::SOCK_STREAM,Socket::IPPROTO_TCP) 
@data = "anyThing" 
@addr = pack_sockaddr_in(port, host) 
sock.connect(@addr) #make the connection 
sock.send(@data, 0) 

来源:http://www.rubycentral.com/pickaxe/lib_network.html

您可能还需要使用的TCPSocket类尝试。我没有使用任何这种Ruby代码,所以我不习惯这个特定的库;请让我知道,如果我把这一切弄错了。 ;)

require 'socket' 
sock = TCPSocket.new(host, port) 
@data = "anyThing" 
sock.send(@data, 0) 
+0

伙计...你刚刚度过了我的一天,thanx很多。 以及4我之前已经使用它的TCPSocket类,但是我用这种方式编写套接字4是一个原因。 顺便说一句你的代码是绝对正确的,再次thanx。 – Raafat 2009-09-03 19:05:13

+0

当然可以!很高兴我能帮助:D – Twisol 2009-09-03 19:22:37

也许另一端关闭连接?

+0

nop ...但thanx任何方式。 – Raafat 2009-09-03 17:22:57