繁体   English   中英

Python socket.connect()错误出

[英]Python socket.connect() errors out

Python版本2.7.3

Python代码,交互模式

import socket
socket.setdefaulttimeout(2)
s = socket.socket()
s.connect(("192.168.95.148",21))

错误出

>>> s.connect(("192.168.95.148",21))
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/lib/python2.7/socket.py", line 224, in meth
    return getattr(self._sock,name)(*args)
socket.timeout: timed out

语法看起来正确。 我什至尝试使用可ping并且相同错误的另一个IP地址。

谢谢!

我正在查看您正在使用的端口(21),它是FTP端口。

https://en.wikipedia.org/wiki/List_of_TCP_and_UDP_port_numbers

我自己的代码本身看不到任何错误,但是这里有些我担心的事情:

a)很多地方会锁定并关闭历史上使用的FTPtelnet等端口,但是在当今的安全环境中,我们使用scpssh (而不是ftpssh )。 您可以与系统管理员联系,以查看该服务是否已打开,或者更不用说您的文件墙甚至允许该端口通过。

b)我不习惯看到默认参数,但是我想你想

套接字(socket.AF_INET,socket.SOCK_STREAM)

我有Python 2.6,这是默认设置(我认为与2.7相同)。

c)我将在其他端口上尝试此操作,以查看是否是端口问题。 当然,早期编号的端口是普通用户无法使用的特殊“知名端口”。 我通常使用端口9711或8888。

d)我也可以尝试不超时的方法,看看是否可行。

我希望这有帮助!

这不是您问题的直接答案,但是如果您要进行FTP传输,我可以建议使用标准ftplib模块吗?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM