情況是這樣的。
我是用Webman框架寫了一個API接口,負責接收數(shù)據(jù),然后存庫。項目部署在Linux上。
我寫了一個fake_data.php 用來生成假數(shù)據(jù)(循環(huán)10000次),通過curl 來向 這個API接口推送數(shù)據(jù)。
當我在本地啟動一個terminal,執(zhí)行php fake_data.php 時,一切正常。
當我同時啟動兩個terminal時,API接口就會頻繁返回:
Failed to connect to 172.16.0.26 port 8787: Address already in use
錯誤信息。
我不理解這是怎么回事,還請各位幫忙解答下。非常感謝。
相關圖片:
按照這位朋友的建議,修改了程序,就沒有報這個問題了:
謝謝各位。
提示寫的很清楚了,端口被占用了。
你好,根據(jù)描述信息,我知道端口被占用。可是我有點不理解,這個端口被占用,難道只是我啟動了2個或多個terminal同時推送的原因嗎?還是說只能啟動一個terminal來推送。
關于這塊兒,是不是有什么我不了解的地方。還請不吝賜教。謝謝。
同協(xié)議下,一個端口只能被一個進程監(jiān)聽(該進程fork出來的不算),除非聲明reuseport,所以你現(xiàn)在是兩個進程(terminal1和terminal2)監(jiān)聽同一個協(xié)議(TCP)下的端口
你好,我這邊又測試了一下,開啟一個terminal,for循環(huán)調用10000次接口,在即將調用結束的后半部分,還是出現(xiàn)了這個 Failed to connect to 172.16.0.26 port 8787: Address already in use 這個信息。很是疑惑。
麻煩問一下,各位在項目中有沒有遇到這種情況。