无法解决的Ruby错误

时间:2009-09-03 17:14:52

标签: ruby sockets

这可能是我见过的最愚蠢的事情,我的方法发送和ruby类'Socket'管道出现故障,4天前我有这个东西,但没有找到任何关于它的东西,我有点疯狂。

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

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)

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

2 个答案:

答案 0 :(得分:3)

如果我错了,请纠正我,但在发送数据之前,您可能需要实际连接到主机?我看到你创建了一个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)

答案 1 :(得分:0)

或许另一端正在关闭连接?

相关问题