Domanda

Ho scritto uno script python semplice utilizzando il SocketServer, funziona bene su Windows, ma quando eseguo su un computer remoto Linux (Ubuntu), non funziona a tutti .. Lo script è come qui di seguito:

#-*-coding:utf-8-*- 
import SocketServer

class MyHandler(SocketServer.BaseRequestHandler):

    def handle(self):
        data_rcv = self.request.recv(1024).strip()
        print data_rcv

myServer = SocketServer.ThreadingTCPServer(('127.0.0.1', 7777), MyHandler)   
myServer.serve_forever()

I caricarlo sul computer remoto da SSH, e quindi eseguire il comando python server.py sulla macchina remota, e cercare di accesso ai xxx.xxx.xxx.xxx:7777/test con il mio browser, ma nulla è stampato su teminal della macchina remota ... tutte le idee?

UPDATE:. Problema risolto, si tratta di un problema di firewall, grazie a tutti voi

È stato utile?

Soluzione

si sono vincolanti il ??server per 127.0.0.1, l'indirizzo IP per localhost. Ciò significa che il server accetta solo connessioni provenienti dalla stessa macchina; non riconoscerà quelle provenienti da un altro computer.

È necessario sia legano al tuo indirizzo IP esterno, o si legano ad un indirizzo jolly (vale a dire non si associa a un particolare indirizzo IP, solo una porta). Prova:

myServer = SocketServer.ThreadingTCPServer(('0.0.0.0', 7777), MyHandler) 

Altri suggerimenti

si sono vincolanti per 127.0.0.1:7777 ma poi cercando di accedervi attraverso i server IP esterno (userò il tuo segnaposto - xxx.xxx.xxx.xxx). 127.0.0.1:7777 e xxx.xxx.xxx.xxx:7777 sono diverse porte e può essere vincolato da processi differenti IIRC.

Se non dovesse risolvere il problema, controllare il vostro firewall, molti ospiti impostare firewall che bloccano tutto, ma il manipolo si rischia di utilizzo

Prova con telnet o nc prima, telnet al vostro IP del pubblico con la porta e vedere quale risposta si ottiene. Inoltre, perché sono l'accesso a / test dal browser? Non vedo che parte nel codice. Spero che avete preso cura di questo.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top