2010-09-09 2 views
1

Я пытаюсь создать tcplistener в python (используя при необходимости pexpect), чтобы прослушать tcp-соединение из Ubuntu в виртуальном боксе на хосте Windows XP. Я был бы очень признателен, если бы один из вас мог указать мне в правильном направлении. Спасибо.Использование pexpect для прослушивания порта из виртуального бокса

P.S: У меня ограниченный опыт работы в этой области, любая помощь будет приветствоваться.

+0

Это поможет, если вы могли бы ответить на следующие вопросы: Где ваш код работает? Хост Windows или гостевой Ubuntu? Почему вы думаете, что pexpect необходим? Короче говоря, что вы пытаетесь достичь? – Rakis

ответ

1

У Python уже есть простой сервер сокетов, предусмотренный в стандартной библиотеке, который точно назван SocketServer. Если все, что вы хотите, это основной слушатель, проверить это 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

спасибо. –

+0

Добро пожаловать. Пожалуйста, подумайте о принятии моего ответа как правильного! :) – jathanism

Смежные вопросы