【已解决】Failed to connect to 172.16.0.26 port 8787: Address already in use

云端

情况是这样的。
我是用Webman框架写了一个API接口,负责接收数据,然后存库。项目部署在Linux上。
我写了一个fake_data.php 用来生成假数据(循环10000次),通过curl 来向 这个API接口推送数据。
当我在本地启动一个terminal,执行php fake_data.php 时,一切正常。
当我同时启动两个terminal时,API接口就会频繁返回:
Failed to connect to 172.16.0.26 port 8787: Address already in use 错误信息。
我不理解这是怎么回事,还请各位帮忙解答下。非常感谢。

相关图片:

按照这位朋友的建议,修改了程序,就没有报这个问题了:

谢谢各位。

1971 2 0
2个回答

ersic

提示写的很清楚了,端口被占用了。

  • 云端 2022-07-19

    你好,根据描述信息,我知道端口被占用。可是我有点不理解,这个端口被占用,难道只是我启动了2个或多个terminal同时推送的原因吗?还是说只能启动一个terminal来推送。

    关于这块儿,是不是有什么我不了解的地方。还请不吝赐教。谢谢。

  • nitron 2022-07-19

    同协议下,一个端口只能被一个进程监听(该进程fork出来的不算),除非声明reuseport,所以你现在是两个进程(terminal1和terminal2)监听同一个协议(TCP)下的端口

  • 云端 2022-07-21

    你好,我这边又测试了一下,开启一个terminal,for循环调用10000次接口,在即将调用结束的后半部分,还是出现了这个 Failed to connect to 172.16.0.26 port 8787: Address already in use 这个信息。很是疑惑。

    麻烦问一下,各位在项目中有没有遇到这种情况。

  • 云端 2022-07-21

    问题解决了。是我curl 封装的问题。

喵了个咪

你得找出具体哪行报错,才好定位

  • 云端 2022-07-21

    问题解决了。是我curl 封装的问题。谢谢。

年代过于久远,无法发表回答
×
🔝