SocketServer在Linux上不起作用

won*_*ng2 2 python sockets linux python-2.7

我使用SocketServer编写了一个简单的python脚本,它在Windows上运行良好,但是当我在远程Linux机器(Ubuntu)上执行它时,它根本不起作用.脚本如下所示:

#-*-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()
Run Code Online (Sandbox Code Playgroud)

我通过SSH将其上传到远程计算机,然后python server.py在远程计算机上运行命令,并尝试xxx.xxx.xxx.xxx:7777/test使用我的浏览器访问,但远程计算机的终端上没有打印任何内容......任何想法?

更新:问题解决了,这是一个防火墙问题,谢谢大家.

Joh*_*ica 6

您将服务器绑定到127.0.0.1localhost的IP地址.这意味着服务器只接受来自同一台机器的连接; 它不会识别来自另一台机器的那些.

您需要绑定到外部IP地址,或绑定到通配符地址(即不绑定到任何特定的IP地址,只绑定到端口).尝试:

myServer = SocketServer.ThreadingTCPServer(('0.0.0.0', 7777), MyHandler) 
Run Code Online (Sandbox Code Playgroud)