文章内容
2022/10/25 16:06:30,作 者: 黄兵
通常每个套接字地址(协议/网络地址/端口)只允许使用一次。
今天在使用 RabbitMQ 多线程处理消息的时候,出现了如下错误:
OSError: [WinError 10048] 通常每个套接字地址(协议/网络地址/端口)只允许使用一次。
redis.exceptions.ConnectionError: Error 10048 connecting to exp.com:27870. 通常每个套接字地址(协议/网络地址/端口)只允许使用一次。
通过错误我们可以推断出,应该是端口已经用尽,在以前大量数据写数据库的时候也出现过这个问题。
有以下3个原因可能导致端口用尽:
1、你的服务器开启的端口数太少;
2、连接释放等待时间太长;
3、你的socket通信并发量太大。
参考的这篇文章说修改超时时间,其实我是不推荐的,可能对数据库或者是生产系统的一些服务造成压力,我觉得还是以时间换速度。
限制线程数量,多用一点时间去跑服务,可能更好一些。
如果要更改端口超时,可以参考下面的参考资料。
参考资料:
黄兵个人博客原创。
评论列表