文章内容

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通信并发量太大。

参考的这篇文章说修改超时时间,其实我是不推荐的,可能对数据库或者是生产系统的一些服务造成压力,我觉得还是以时间换速度。

限制线程数量,多用一点时间去跑服务,可能更好一些。

如果要更改端口超时,可以参考下面的参考资料


参考资料:

1、[解决]通常每个套接字地址只允许使用一次


黄兵个人博客原创。

转载请注明出处:黄兵个人博客 - 通常每个套接字地址(协议/网络地址/端口)只允许使用一次。

分享到:

发表评论

评论列表