我用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()
我通过SSH将它上传到远程机器,然后在远程机器上运行python server.py命令,并尝试使用我的浏览器访问xxx.xxx.xxx.xxx:7777/test ,但是没有在远程机器的终结点…任何想法?
emacs套接字的位置
套接字对,Perl,KEEPALIVE和轮询
有没有可能是Linux文件描述符0 1 2不适用于标准input,标准输出和标准错误?
SocketServer.ThreadingTcpserver – 程序重新启动后无法绑定到地址
使用GNU / Linux系统调用`splice`在Haskell中进行Zero-copy Socket到Socket的数据传输
在Windows中模拟TCP套接字的慢速
如何检测哪个networking接口在Windows 7中使用c + +接收UDP数据包?
什么是UDP缓冲区的单位,以及sysctl params的文档在哪里?
绑定与SO_BINDTODEVICE套接字
pythonexception中包含的errnos是否与“linux / errno.h”中的errnos相同?
您将服务器绑定到127.0.0.1 ,即localhost的IP地址。 这意味着服务器将只接受源自同一台机器的连接; 它不会识别来自另一台机器的信号。
您需要绑定到您的外部IP地址,或绑定到通配符地址(即不绑定到任何特定的IP地址,只是一个端口)。 尝试:
myserver = Socketserver.ThreadingTcpserver(('0.0.0.0',MyHandler)
你绑定到127.0.0.1:7777,但试图通过服务器的外部IP访问它(我将使用你的占位符 – xxx.xxx.xxx.xxx)。 127.0.0.1:7777和xxx.xxx.xxx.xxx:7777是不同的端口 ,可以被不同的进程IIRC绑定。
如果没有解决这个问题,请检查你的防火墙,许多主机设置防火墙阻止一切,但少数你可能会使用
先用telnet或者nc,用你的端口telnet到你的公共ip,看看你得到了什么回应。 另外,为什么从浏览器访问/测试? 我没有看到代码中的那一部分。 我希望你已经照顾好了。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。