python socket.connect – >为什么会超时?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了python socket.connect – >为什么会超时?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1162字,纯文字阅读大概需要2分钟。
内容图文
![python socket.connect – >为什么会超时?](/upload/InfoBanner/zyjiaocheng/777/68e35c436e9d49b1ba7fe1e53dec826c.jpg)
在这方面我很天真.我不确定为什么我的连接超时.提前致谢.
#!/usr/bin/env python
import socket
def socket_to_me():
socket.setdefaulttimeout(2)
s = socket.socket()
s.connect(("192.168.95.148",21))
ans = s.recv(1024)
print(ans)
此代码生成的跟踪回溯
Traceback (most recent call last):
File "logger.py", line 12, in <module>
socket_to_me()
File "/home/drew/drewPlay/python/violent/networking.py", line 7, in socket_to_me
s.connect(("192.168.95.148",21))
File "/usr/lib/python2.7/socket.py", line 224, in meth
return getattr(self._sock,name)(*args)
timeout: timed out
解决方法:
您无需更改所有新套接字的默认超时,而只需设置该特定连接的超时即可.虽然值有点低,但是将其增加到10-15秒有望成功.
首先,这样做:
s = socket.socket()
然后:
s.settimeout(10)
你应该在连接上使用“try:”,并添加:
except socket.error as socketerror:
print("Error: ", socketerror)
这将在输出中显示系统错误消息并处理异常.
修改后的代码版本:
def socket_to_me():
try:
s = socket.socket()
s.settimeout(2)
s.connect(("192.168.95.148",21))
ans = s.recv(1024)
print(ans)
s.shutdown(1) # By convention, but not actually necessary
s.close() # Remember to close sockets after use!
except socket.error as socketerror:
print("Error: ", socketerror)
内容总结
以上是互联网集市为您收集整理的python socket.connect – >为什么会超时?全部内容,希望文章能够帮你解决python socket.connect – >为什么会超时?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。