druby server prüfen

Manfred Hansen <[email protected]> Tue, 11 Feb 2003 16:01:47 +0100
Newsgroups gmane.comp.lang.ruby.german
Organization Mobilcom AG
Message-ID <[email protected]>
Hallo,

gibt es eine Möglichkeit mit dem "druby client" zu prüfen ob
der "druby Server" läuft.
Erst wenn sichergestellt ist ob der Server läuft soll mit 
dem weiteren Ablauf des Programms fortgefahren werden.

Das Programm kopiert eine Datei vom Server auf dem Client:

#!/usr/bin/ruby
require "drb/drb"

class TestServer
	def doit(dateiname)	
		# prüfen ob die Datei vorhanden ist
		if FileTest.file?(dateiname) then
			puts "Datei vorhanden"
			return File.new(dateiname, "r")
		else
			puts "Datei nicht vorhanden" rescue nil
			return "Datei nicht gefunden"
		end
	end	
end

aServerObject = TestServer.new
DRb::DRbServer.new("druby://sid-lx:5555", aServerObject)
DRb.thread.join # Steige nicht gerade jetzt aus

Client:

#!/usr/bin/ruby

require "drb/drb"

primary = DRb::DRbServer.new
ro = DRb::DRbObject.new(nil,'druby://sid-lx:5555')
if ro.kind_of? DRbObject then  # Hier die Prüfung ob Server läuft ????
	primary = ro.doit(dateiname) rescue nil
	if primary.kind_of? String then
		puts "Datei nicht gefunden"
	else
		f= File.open("/tmp/"+dateiname,File::CREAT|File::RDWR|File::APPEND|File::TRUNC,0644)
		primary.each {|line|
			f.print line
		}
	end
else
	puts "Server läuft nicht"
end	

mfg Manfred