socket.error: [Errno 10013] 解决方法

Traceback (most recent call last):
File “D:\pythonspaces\test2\src\web\helloword.py”, line 12, in
app.run(host=’0.0.0.0’, port=9000)
File “C:\Python27\lib\site-packages\flask\app.py”, line 841, in run
run_simple(host, port, self, **options)
File “C:\Python27\lib\site-packages\werkzeug\serving.py”, line 739, in run_simple
inner()
File “C:\Python27\lib\site-packages\werkzeug\serving.py”, line 699, in inner
fd=fd)
File “C:\Python27\lib\site-packages\werkzeug\serving.py”, line 593, in make_server
passthrough_errors, ssl_context, fd=fd)
File “C:\Python27\lib\site-packages\werkzeug\serving.py”, line 504, in init
HTTPServer.init(self, (host, int(port)), handler)
File “C:\Python27\lib\SocketServer.py”, line 419, in init
self.server_bind()
File “C:\Python27\lib\BaseHTTPServer.py”, line 108, in server_bind
SocketServer.TCPServer.server_bind(self)
File “C:\Python27\lib\SocketServer.py”, line 430, in server_bind
self.socket.bind(self.server_address)
File “C:\Python27\lib\socket.py”, line 224, in meth
return getattr(self._sock,name)(*args)
socket.error: [Errno 10013]

问题分析方法:

  1. 定位问题,从打印问题中,可以很清晰的定位到问题出现socket上,具体问题向上看,获取etattr(self._sock,name)(*args)没有成功。为何没有成功?可能是因为我们配置的端口被占用了,或者配错了端口。
  2. 检查我们的代码没有语法,等问题,可以初步判定是port 端口被占用。
  3. 修改端口即可解决该问题。
if __name__ == '__main__':
    app.run(host='0.0.0.0', port=9000)

源码:

def meth(name,self,*args):
    return getattr(self._sock,name)(*args)

查询端口是否被占用

C:\Users\temp>tasklist | findstr “9000”

C:\Users\temp>

? 查询端口却没有发现 9000 这个端口没有被进程占用

Bug 20170001

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值