[Python] Newbie II
Manlio Perillo
manlio_perillo a libero.it
Dom 10 Set 2006 22:41:32 CEST
Sub-Zero ha scritto:
Dai una occhiata a Twisted e guarda come è facile scrivere un server per
il protocollo Echo:
http://twistedmatrix.com/projects/core/documentation/examples/echoserv.py
> import SocketServer
> class EchoRequestHandler(SocketServer.BaseRequestHandler):
> def handle(self):
> print 'Connesso!'
> while 1:
> msg = self.request.recv(1024)
> if not msg:
> break
> print 'Ricevuto:',msg
> self.request.send(msg)
> print 'Disconnesso'
> server =
> SocketServer.ThreadingTCPServer(('127.0.0.1',7777),EchoRequestHandler)
> server.handle_request()
>
> Il vero problema lo incontro quando mi connetto: tutto cio' che scrivo
> viene spedito un carattere alla volta e poi è visto come una stringa e
> nn come un comando,
Usi un client telnet per comunicare con il server?
> in sostanza dovrei fare in modo che il comando venga
> interpretato ed eseguito alla pressione del tasto 'enter' e non alla
> pressione di un qualunque tasto e poi,
Leggi i sorgenti (e la documentazione).
Ad esempio il modulo BaseHTTPServer.
cmd = self.rfile.readline()
e per mandare una stringa al client:
self.wfile.write("hello\n")
> come faccio a far eseguire il
> comando ricevuto ?
>
Per comando intendi un comando per la shell?
Se devi fare solo questo perchè non ti basta un server telnet già pronto?
Comunque per eseguire un comando/processo:
import os
os.system(cmd)
Saluti Manlio Perillo
Maggiori informazioni sulla lista
Python