關於埠reuse的問題

2021-05-22 16:33:12 字數 384 閱讀 3683

最近在除錯php程式的時候發現了乙個很鬱悶的問題

自己寫的程式是將大概22w條資料post到指定介面

程式在伺服器a執行得好好的,但是一放到伺服器b就會出現post失敗的現象

22w條大概會失敗3w多條,而且是間斷並且隨機的post失敗

我用的是curl庫,curl_exec後返回false

後面經人指點才知道原來是埠惹的禍

因為curl庫在post請求的時候是在底層建立tcp連線的

每次建立可能都是使用不同的埠,埠在被使用後不會立馬被關閉

而是置於 time_wait狀態一定時間(2*msl)以保證資料不會丟失

這一策略可以保證tcp的可靠性,但是如果程式占用過多埠導致埠不夠用時,就會報埠被占用的錯誤資訊。

TIME WAIT狀態和reuse問題

time wait狀態和reuse問題。上一篇看了tcp的三次握手與四次揮手,記得四次揮手,主動斷開連線的一方最後乙個狀態就是time wait狀態,並且一定是主動斷開連線的一方,它可能使socket能陷入一種時間比較長的狀態,過多的time wait會影響新socket的建立。那麼time wai...

檢視3333埠 關於3333埠問題?

關於3333埠問題?22 26 43 221.236.30.35 應答本機的3333埠,tcp標誌 sa 該操作被拒絕。22 26 46 221.236.30.35 應答本機的3333埠,tcp標誌 sa 該操作被拒絕。22 26 48 221.236.30.35 應答本機的3333埠,tcp標誌 ...

關於HTTP使用21埠的問題

21埠通常用於ftp服務,但由於某種原因,我需要在iis中配置 的埠為21,啟動正常,但是使用ie chrome safari均無法訪問,開始時我一直認為是iis的問題,後來將web伺服器換成apache,現象依舊,仍然無法訪問。後來使用firefox訪問,提示 此位址使用了乙個通常用於網路瀏覽以外...