我今天开始使用python,我正在研究套接字编程。我已经连接到带有套接字实例的ip和端口,我试图用recv方法读取套接字上的下一个1024字节。当我试图将它存储在变量中时,我收到一个错误,告诉我套接字超时,尝试增加它但没有帮助。
代码:
>>> import socket
>>> socket.setdefaulttimeout(2)
>>> s = socket.socket()
>>> s.connect(("192.168.95.148",21))
错误:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
socket.timeout: timed out
答案 0 :(得分:0)
您在socket.setdefaulttimeout(2)
中设置超时,因此会引发异常。
请改为尝试:
import socket
s = socket.socket()
socket.setdefaulttimeout(10) #set timeout for ten seconds (can be whatever you want)
try:
s.connect(("192.168.95.148",21))
except Exception as e:
print("An error occured:\n{}".format(e))