2010-09-09 33 views
1

J'essaye de créer un tcplistener en python (en utilisant pexpect si nécessaire) pour écouter la connexion tcp d'Ubuntu dans virtualbox sur un hôte Windows XP. J'apprécierais vraiment, si l'un de vous pourrait me diriger dans la bonne direction. Je vous remercie.Utiliser pexpect pour écouter sur un port depuis une virtualbox

P.S: J'ai une expérience limitée dans le domaine, toute aide serait la bienvenue.

+0

Il serait utile si vous pouviez répondre aux questions suivantes: Où est votre code en cours d'exécution? Hôte Windows ou invité Ubuntu? Pourquoi pensez-vous que pexpect est nécessaire? En bref, qu'est-ce que vous essayez d'accomplir? – Rakis

Répondre

1

Python a déjà un serveur de socket simple fourni dans la bibliothèque standard, qui porte bien son nom SocketServer. Si tout ce que vous voulez est un auditeur de base, consultez cette example straight from the documentation:

import SocketServer 

class MyTCPHandler(SocketServer.BaseRequestHandler): 
    """ 
    The RequestHandler class for our server. 

    It is instantiated once per connection to the server, and must 
    override the handle() method to implement communication to the 
    client. 
    """ 

    def handle(self): 
     # self.request is the TCP socket connected to the client 
     self.data = self.request.recv(1024).strip() 
     print "%s wrote:" % self.client_address[0] 
     print self.data 
     # just send back the same data, but upper-cased 
     self.request.send(self.data.upper()) 

if __name__ == "__main__": 
    HOST, PORT = "localhost", 9999 

    # Create the server, binding to localhost on port 9999 
    server = SocketServer.TCPServer((HOST, PORT), MyTCPHandler) 

    # Activate the server; this will keep running until you 
    # interrupt the program with Ctrl-C 
    server.serve_forever() 
+0

Merci beaucoup. –

+0

Vous êtes les bienvenus. S'il vous plaît envisager d'accepter ma réponse comme la bonne! :) – jathanism