Kann man gleichzeitig in ein socket schreiben und davon lesen?

Hallo Liste, ich bin relativ neu was die Socketprogrammierung angeht, deswegen eine kleine Frage hierzu: Ich möchte einen Multithreadet Server Programmieren, und nun möchte ich wissen was passiert wenn ein Thread darauf ließt, und der andere da rein schreiben tut... gleichzeitig! Wenn das net geht muss ich das dann irgendwie locken...? Schon mal im voraus danke für eure Hilfe. mfg Betz Stefan -- Profitip No. 413: Zeit sparen durch Rebooten im Hintergrund. Man will ja nicht jedesmal die Arbeit unterbrechen... stefan@athlon.hornynet:~$ reboot & _______________________________________________ Python-de maillist - Python-de@python.net http://python.net/mailman/listinfo/python-de

Stefan J. Betz wrote:
Hallo Liste,
ich bin relativ neu was die Socketprogrammierung angeht, deswegen eine kleine Frage hierzu:
Ich möchte einen Multithreadet Server Programmieren, und nun möchte ich wissen was passiert wenn ein Thread darauf ließt, und der andere da rein schreiben tut... gleichzeitig! [...]
Was hast du denn da für ein tolles Protokoll erfunden, das so was nötig macht? -- Gerhard _______________________________________________ Python-de maillist - Python-de@python.net http://python.net/mailman/listinfo/python-de

Am Fri, Jul 11, 2003 at 06:24:51PM +0200, Gerhard Häring schrieb:
Stefan J. Betz wrote:
Hallo Liste,
ich bin relativ neu was die Socketprogrammierung angeht, deswegen eine kleine Frage hierzu:
Ich möchte einen Multithreadet Server Programmieren, und nun möchte ich wissen was passiert wenn ein Thread darauf ließt, und der andere da rein schreiben tut... gleichzeitig! [...]
Was hast du denn da für ein tolles Protokoll erfunden, das so was nötig macht?
Naja, ich verwende diesen TCPServer aus der SocketServer Modulsammlung, mit dem Threaded Mixin, und da wird dann Quasi immer ein Thread für jeden neuen User (bzw. Socket) gestartet, und in diesem Thread welche ja eigentlich ein Klasse ist die den RequestHandler implementiern tut, möchte ich Quasi noch mal zwei zusätzliche Thread's haben... Der eine von diesen Zusatzthreads soll immer nur ein Zeichen aus dem Socketauslesen, diese Zeichen kommt in einen String, und dann wird ein requlärer ausdruch re.* darauf angewendet, mit dem ich verscuhe quasi mein Protokoll zu "erfassen"... wenn als der reualäre ausdruck auf den string zutreffen tut, dann soll dieser string einer queue (eigentlich ne liste, aber egal) hinzugefügt werden, und er hauptthread dieser klasse (zur laufzeit einer instanz) ließt diese liste aus und gibt status und so weiter über das socket zurück... und dann könnte es sein das 2 thread gleichzeitig auf diese socket zugreiffen, und nun bleid halt die frage wie diese socket darauf reagieren tut... Aber da fällt mir grad ein das ich es nicht zeichen für zeichen in diesen string schreiben lasse, sonder eher mit socket.revc(1024) oder so... aber die funktion bleibt die selbe... mfg Betz Stefan PS: Ich weis das man meinen Text nur schlecht verstehen kann, mir ist jedoch keine bessere Erklärung eingefallen... -- Profitip No. 413: Zeit sparen durch Rebooten im Hintergrund. Man will ja nicht jedesmal die Arbeit unterbrechen... stefan@athlon.hornynet:~$ reboot & _______________________________________________ Python-de maillist - Python-de@python.net http://python.net/mailman/listinfo/python-de
participants (2)
-
Gerhard Häring
-
Stefan J. Betz