From: Jonas Hoffmann Date: 2002-12-18T01:56:36+09:00 Subject: simple parse error, but i can't find him my code ist this [CODE] #!/usr/bin/ruby # Dies ist der Server der auf die Verbindung wartet und entweder # Dateien versendet oder sie hochl�d # Der Server l�uft auf PORT 10032 und l�uft in einer Endlosschleife # noch require 'socket' def hochladen gs = TCPServer.open(10032) #Es wird ein Server auf Port 10032 gestartet # Der Server wartet auf einen Verbindungsaufbau. Dies # ist als Endlosschleife gemacht da es in Ruby leider keine # M�glichkeit gibt auf eine Tastatureingabe zu warten und # trotzdem weiter zu laufen. Vielleicht kann man das mit # Threads realisieren aber ich hab momentan noch keinen # Plan wie ich dies machen k�nnte while true # Wenn eine Verbindungsanfrage eingeht wird ein eigener # Thread gestartet f�r den User und ein Socketobjekt erstellt Thread.start(gs.accept) do |s| # Statusmeldung, k�nnte man zB. in ein Serverlog reinschreiben # aber das geh�rt ja nicht zur Aufgebenstellung, deshalb hier # nur auf dem Bildschirm bisher, aber das umleiten solte kein # Problem darstellen print(s, " hat eine Verbindung aufgebaut\n") # Wir warten darauf was der User tun will s.gets auswahl = $_ auswahl.chop! # Die \n Zeichen am ende werden entfernt if auswahl == "H" # Der Client will also eine Datei hochladen # zuerst sagen wir dem Client dass wir verstanden haben # was er will s.write("ok\n") # und warten auf den Dateinamen s.gets dateiname = $_ dateiname.chop! puts dateiname + " wird hochgeladen\n" # Jetzt �ffnen wir die Datei zum schreiben # Und senden dem Client ein signal ob dies # funktioniert hat. dateiname = dateiname + "up" f = File::open(dateiname,mode="w") if f s.write("ok\n") else s.write("f\n") lesen = s.gets lesen.chomp! bytezaehler = 0 while bytezaehler < lesen.to_i f.putc(s.getc) bytezaehler=bytezaehler+1 end f.close end if auswahl == "D" # # # end print (s, " wurde abgebrochen\n") s.close end end [/CODE] And her i get a parse Error in Line 75, its one of the two end at the end of the file . I think the Problem is the Thread Command but i do not know what to do :( I hope somebody can !? And perhaps can explain what my error. mfg. Jonas Hoffmann