Ruby 卢布现钞
我正在尝试创建一个脚本来帮助我通过内部Windows网络移动大文件,并希望Ruby与BitTorrent的结合将是理想的。然而,我的代码似乎并没有下载任何东西 我知道RubyTorrent项目已经被放弃很长时间了,所以我希望我的同事Stackoverflow能帮助我 我的代码(目前为): 如您所见,“bt.tracker”行显示为nil,因此传递.torrent文件可能会有问题,但为什么它传递文件的其余部分Ruby 卢布现钞,ruby,bittorrent,Ruby,Bittorrent,我正在尝试创建一个脚本来帮助我通过内部Windows网络移动大文件,并希望Ruby与BitTorrent的结合将是理想的。然而,我的代码似乎并没有下载任何东西 我知道RubyTorrent项目已经被放弃很长时间了,所以我希望我的同事Stackoverflow能帮助我 我的代码(目前为): 如您所见,“bt.tracker”行显示为nil,因此传递.torrent文件可能会有问题,但为什么它传递文件的其余部分 如果您能帮助实现此功能,我们将不胜感激。我想它需要一个文件名。它是否可以像需要要求“op
如果您能帮助实现此功能,我们将不胜感激。我想它需要一个文件名。它是否可以像需要
要求“openuri”
一样简单?我认为它需要一个文件名。是否可以像需要要求“打开uri”
一样简单?您的代码很好,唯一的问题是您在尚未连接到跟踪器时尝试打印bt.tracker。
如果在连接后尝试打印它,则没有问题
begin
bt = RubyTorrent::BitTorrent.new('yourtorrent')
rescue IOError
puts "Can't open the torrent"
end
bt.on_event(self, :tracker_connected) { |s, url| puts "[tracker] connected to tracker #{url}" }
puts 'Tracker : '+bt.tracker.to_s
puts bt.port
thread = Thread.new do
while true
puts 'Tracker : '+bt.tracker.to_s
puts bt.percent_completed
sleep 10
end
end
bt.on_event(self, :complete) { thread.kill }
thread.join
你的代码是好的,唯一的问题是你试图打印bt.tracker时,你仍然没有连接到跟踪器。 如果在连接后尝试打印它,则没有问题
begin
bt = RubyTorrent::BitTorrent.new('yourtorrent')
rescue IOError
puts "Can't open the torrent"
end
bt.on_event(self, :tracker_connected) { |s, url| puts "[tracker] connected to tracker #{url}" }
puts 'Tracker : '+bt.tracker.to_s
puts bt.port
thread = Thread.new do
while true
puts 'Tracker : '+bt.tracker.to_s
puts bt.percent_completed
sleep 10
end
end
bt.on_event(self, :complete) { thread.kill }
thread.join
好的,这很好,但是它看起来仍然没有下载torrent,而且,它下载到哪里了?实际上,这不是真的,它现在正在下载:)但是它在哪里存储数据?lol nm-我刚刚在运行rb文件的目录中找到了:)。谢谢你的帮助。好的,这很好,但是它看起来仍然没有下载torrent,而且,它下载到哪里了?实际上,这不是真的,它现在正在下载:)但是它在哪里存储数据?lol nm-我刚刚在运行rb文件的目录中找到了:)。谢谢你的帮助。