Woher kommt die message?

Sockets, TCP/IP, (XML-)RPC und ähnliche Themen gehören in dieses Forum
Antworten
MaxMx
User
Beiträge: 6
Registriert: Dienstag 31. Juli 2012, 20:22

Hi,

ich versuche seit ein paar Tagen python...
ich schreibe einen MUD server und ich werde aus einem nicht schlau:
ich connecte mit 2 clients zu localhost:2345

Ein character ist eine Instanz von

Code: Alles auswählen

   class Character(SocketServer.StreamRequestHandler):
ich sende mit:

Code: Alles auswählen

    def sendLine(self, item):
        self.request.send(item + "\n")
#         self.wfile.write(item + "\n")
ich receive mit:

Code: Alles auswählen

    def handle(self):
        self.sendWelcome()
        self.getLogin()

        while not self.quitRequest:
            self.sendLine("waiting") #debug
            line = self.rfile.readline()
            self.sendLine("got") #debug
            self.server.commands.executeCL(self.server, self, line)

Das Problem:
Ich sende mit einem Character eine message (via OtherChar.sendLine()),
aber die message wird nicht von der handle() methode verarbeitet, sondern sie erscheint einfach im Terminal von OtherChar. Warum?
Zuletzt geändert von Anonymous am Dienstag 31. Juli 2012, 21:44, insgesamt 1-mal geändert.
Grund: Quelltext in Python-Code-Tags gesetzt.
BlackJack

@MaxMx: Was ist in welcher Klasse? Welche Klassen gibt es? Wie sieht der Server aus? Wie löst Du das Clients gleichzeitig Server sind? Wo wird etwas ausgegeben? Im gezeigten Quelltext wird gar nichts ausgegeben, jedenfalls nicht direkt und für Leute die Deinen Quelltext nicht kennen in irgend einer Weise ersichtlich. Wie soll man mit so dürftigen Informationen sagen können woher die Ausgabe kommt?

Bezüglich der Namensgebung der Methoden ein Hinweis auf PEP 8 -- Style Guide for Python Code.
MaxMx
User
Beiträge: 6
Registriert: Dienstag 31. Juli 2012, 20:22

Ich war gestern etwas verwirrt. Mein client ist normales telnet, und nicht die Klasse, die ich gepostet habe. Dann ist natürlich klar, dass readline() die Meldungen von telnet empfängt, und nicht die Meldungen, die dem Character geschickt werden. Ein Nacht drüber schlafen wirkt Wunder :)

Thx für den Style Guide.
Antworten