Kommunizieren

Sockets, TCP/IP, (XML-)RPC und ähnliche Themen gehören in dieses Forum
Benutzeravatar
Rebecca
User
Beiträge: 1662
Registriert: Freitag 3. Februar 2006, 12:28
Wohnort: DN, Heimat: HB
Kontaktdaten:

So ziemlich alles was du ueber TCP und UDP gesagt hast. Und benutze bitte kein while 1.
Offizielles Python-Tutorial (Deutsche Version)

Urheberrecht, Datenschutz, Informationsfreiheit: Piratenpartei
Benutzeravatar
cofi
Python-Forum Veteran
Beiträge: 4432
Registriert: Sonntag 30. März 2008, 04:16
Wohnort: RGFybXN0YWR0

Rebecca hat geschrieben:Und benutze bitte kein while 1.
Und schon gar kein `while(1)`
XXLTomate
User
Beiträge: 7
Registriert: Sonntag 14. März 2010, 15:53

Rebecca hat geschrieben:So ziemlich alles was du ueber TCP und UDP gesagt hast.
Ja dann könnt ihr das hier ja richtig stellen und nicht nur "is falsch" sagen, so bringt es weder mir noch jemand anderem was.
EyDu
User
Beiträge: 4881
Registriert: Donnerstag 20. Juli 2006, 23:06
Wohnort: Berlin

Ich habe doch auf den Fehler und Wikipedia hingewiesen. Warum sollte hier jemand noch einmal vorkauen, was an anderer Stelle bereits ausführlich steht?
Das Leben ist wie ein Tennisball.
coolerj
User
Beiträge: 49
Registriert: Sonntag 15. November 2009, 08:46

Wollt ihr mich Verarschen ich jetzt den block in der Schleife getan aber dann geht garnichts mehr

Code: Alles auswählen

import socket
import shutil

s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) 
s.bind(("", 50000)) 
s.listen(1)

try:
    while True: 
        komm, addr = s.accept() 
        while True: 
            data = komm.recv(1024)

            if not data: 
                komm.close() 
                break

            #print "[%s] %s" % (addr[0], data)
            array = data.split()
            datei = "log.txt";
            if array[0] == "/kill":
                print "[%s] hat die Funktion 'kill' aufgerufen" % (addr[0])
                files = open(datei,"a")
                files.write("\n[%s] hat die Funktion 'kill' aufgerufen\n" % (addr[0]))
                files.write("[%s]" % (data))
                files.close()
    
            if array[0] == "/set":
                print "[%s] hat die Funktion 'set' aufgerufen" % (addr[0])
                files = open(datei,"a")
                files.write("\n[%s] hat die Funktion 'set' aufgerufen\n" % (addr[0]))
                files.write("[%s]" % (data))
                files.close()

            if array[0] == "/move":
                print "[%s] hat die Funktion 'move' aufgerufen" % (addr[0])
                files = open(datei,"a")
                files.write("\n[%s] hat die Funktion 'move' aufgerufen\n" % (addr[0]))
                files.write("[%s]" % (data))
                files.close()

            if array[0] == "/archiv":
                shutil.move(datei, "./archiv/%s-log.txt" % (array[1]))

    except socket.error as error:
        if socket.error(10054):
            print "Es hat einer eine Verbindung getrennt."
           
finally: 
    s.close()
EyDu
User
Beiträge: 4881
Registriert: Donnerstag 20. Juli 2006, 23:06
Wohnort: Berlin

Tu hast Teile des Blocks in eine Schleife verlagert.
Das Leben ist wie ein Tennisball.
coolerj
User
Beiträge: 49
Registriert: Sonntag 15. November 2009, 08:46

Wenn ich es aber in der try mache ist der raus
Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

coolerj hat geschrieben:Wollt ihr mich Verarschen ich jetzt den block in der Schleife getan aber dann geht garnichts mehr
Ich jetzt mich auch verarscht fühle...

... ok, ab hier wieder korrektes Deutsch:

Also: Wieso setzt Du nicht das um, was Dir geraten wurde? So macht Deine Exception absolut keinen Sinn, da die Ebenen nicht stimmen. Zudem sagte ich ja, man soll den Block zu klein wie möglich halten. Im Tutorial / Doku wird das auch alles gut erklärt.

Zudem: Dein "Mittelteil" ist ja immer noch so häßlich.

Zu guter letzt: Wieso willst Du sockets benutzen und keine höhere Abstraktionsschicht, wie bereits mehrfach vorgeschlagen und nun zum dritten mal als Frage an Dich gestellt!

So langsam bin ich diese eingleisige und asoziale Kommunikationsform Deinerseits echt leid...
coolerj
User
Beiträge: 49
Registriert: Sonntag 15. November 2009, 08:46

Ok weil ich mit mehreren das mache und die mit sokets am client arbeiten.
Bitte.
Problem bleibt
Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

Mal offtopic: Bist Du irgend wie Fremdsprachler? Wenn ja, sei Dir dein schwaches Deutsch verziehen...
coolerj hat geschrieben:Ok weil ich mit mehreren das mache und die mit sokets am client arbeiten.
Was andere mit Ihren Clients machen kann Dir ja egal sein - das entscheidene ist das Server-Protokoll! Also kannst Du das quasi nicht beeinflussen, sehe ich das richtig?

Was ist mit meinen anderen Fragen / Vorschlägen / Einwänden (Und denen der anderen)? Wieso gehst Du darauf nicht ein? Glaubst Du wirklich, so wird es in diesem Thread konstruktiv weitergehen?
Zuletzt geändert von Hyperion am Montag 15. März 2010, 19:27, insgesamt 1-mal geändert.
coolerj
User
Beiträge: 49
Registriert: Sonntag 15. November 2009, 08:46

Ich bin dran gebunden mit Socket zuarbeiten.
Aber ok wenn ihr nicht mir helfen wollt.
Hab ich nicht dran einzuwenden
Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

coolerj hat geschrieben:Ich bin dran gebunden mit Socket zuarbeiten.
Wieso hast Du das nicht gleich im 2. oder 3. Post gesagt?
Aber ok wenn ihr nicht mir helfen wollt.
Hab ich nicht dran einzuwenden
Du willst Dir ja nicht helfen lassen ;-) Riesenunterschied. Du wurdest ja mehrfach auf die richtige Verwendung von try...except hingewiesen.

Da Du u.a. auch nicht auf meine Frage bezüglich Deiner Sprachkenntnisse eingegangen bist, werde ich mich hier jetzt eh aus dem Thread verabschieden, da Du von Deiner geistigen und sozialen Entwicklung auf einer dermaßen niedirgen Stufe zu stehen scheinst, dass mir meine Lebenszeit zu kostbar ist...

Nur noch eines:
Hyperion hat geschrieben: Was ist mit meinen anderen Fragen / Vorschlägen / Einwänden (Und denen der anderen)? Wieso gehst Du darauf nicht ein? Glaubst Du wirklich, so wird es in diesem Thread konstruktiv weitergehen?
Liest Du Beiträge eigentlich durch?

Dein Verhalten motiviert hier niemanden zum Helfen würde ich mal pauschal sagen.

@Rest: Mir fällt da wieder dieser Thread ein, in dem auf unser angeblich arrogantes Verhalten eingangen wurde... dieser Thread ist imho ein Paradebeispiel für "Wie sollte ich nicht fragen und mich nicht im Forum prösentieren". Evtl. sollte man so was mal in die FAQ aufnehmen :twisted:
coolerj
User
Beiträge: 49
Registriert: Sonntag 15. November 2009, 08:46

Ok bye das war dann auch mein Letzter Post hier

________________________________________

Account Löschung
Benutzeravatar
Defnull
User
Beiträge: 778
Registriert: Donnerstag 18. Juni 2009, 22:09
Wohnort: Göttingen
Kontaktdaten:

Q.E.D.
Bottle: Micro Web Framework + Development Blog
coolerj
User
Beiträge: 49
Registriert: Sonntag 15. November 2009, 08:46

Würde gerne aber irgendwie geht das nicht :(
Also was ist die Lösung?
Kann mir mal einer Helfen?
Aber eigentlich auch egal.
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

coolerj hat geschrieben:Würde gerne aber irgendwie geht das nicht :(
Du musst halt nen Admin anschreiben.
coolerj hat geschrieben:Also was ist die Lösung?
Kann mir mal einer Helfen?
Klar, da sehe ich auch ganz viele Leute die dir helfen. Irgendwie scheint da ein Kommunikationsproblem zu bestehen.
coolerj hat geschrieben:Aber eigentlich auch egal.
Na das motiviert sicher keinen sich noch mit dir zu beschäftigen, da es ja selbst dir egal ist.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

Auch wenn ich grad gegen meine eigene Doktrin verstoße: Der Thread-Titel hätte im nachhinein nicht besser gewählt sein können :-D
Dav1d
User
Beiträge: 1437
Registriert: Donnerstag 30. Juli 2009, 12:03
Kontaktdaten:

R.I.P (requiescat in pace) vllt is dein Latein besser

- In diesem Thread, sollte eigentlich schon genug Infos stehen um deine Fragen zu beantworten
the more they change the more they stay the same
dahaze
User
Beiträge: 75
Registriert: Freitag 13. März 2009, 10:57
Wohnort: im Schwabenland

Hyperion hat geschrieben:@Rest: Mir fällt da wieder dieser Thread ein, in dem auf unser angeblich arrogantes Verhalten eingangen wurde... dieser Thread ist imho ein Paradebeispiel für "Wie sollte ich nicht fragen und mich nicht im Forum prösentieren". Evtl. sollte man so was mal in die FAQ aufnehmen :twisted:
Sehr schöne Idee! :D Bin gerade eben erst auf diesen Thread gestoßen und konnte mir ein Grinsen echt nicht verkneifen! :lol:
coolerj hat geschrieben:Kann man mit Python mit ein anderes Python Programm auf einen anderen PC kommunizieren
ms4py hat geschrieben:xmlrpc, pyro, soap, socket (nicht zu empfehlen)
coolerj hat geschrieben:Danke ich habe mich für das erste entschieden. => SOCKET?
ms4py hat geschrieben:Hier noch mal die Empfehlung *keine* Sockets einzusetzen
coolerj hat geschrieben:Gehts denn trotzdem mit socket?
EyDu hat geschrieben:Natürlich kann man das, aber es ist furchtbar umständlich und fehleranfällig.
coolerj hat geschrieben:Das will ich ja.Andere Frage wie kann ich ein bestimmten Fehler Code ignorieren und stattdessen was anderes machen.
EyDu hat geschrieben:Das steht ganz oben in der Dokumentation zum socket-Modul.
coolerj hat geschrieben:socket.error kapier ich nicht.
Ich kringel mich! :lol: :lol: :lol:
ms4py
User
Beiträge: 1178
Registriert: Montag 19. Januar 2009, 09:37

Tolle Zusammenfassung! Bitte ins Wiki damit und in der FAQ verlinken. :)
„Lieber von den Richtigen kritisiert als von den Falschen gelobt werden.“
Gerhard Kocher

http://ms4py.org/
Antworten