我在Linux中編寫了兩對代碼(server.c
和client.c
)。一個用於UNIX域AF_UNIX
其他用於INTERNET域AF_INET
。兩者都正常工作!listen()隊列長度在套接字編程中c?
listen()
爲緩衝區隊列長度稱爲= 3在both servers
listen(sockfd, 3);
在UNIX域(AF_UNIX):當一個客戶端與服務器連接時,如果我嘗試連接多個客戶機到服務器。三個排隊,第四個請求被拒絕。 (正如我所希望的那樣 - 3在等待隊列中)。
在INTERNET域(AF_INET):三個以上的請求被保存在未決隊列中。
即使積壓隊列長度爲3,爲什麼不是來自第四個客戶端的請求被拒絕?爲什麼listen()
(和其他)協議的行爲依賴於?
我真的不明白你的意圖......爲什麼你會因爲排隊滿了而拒絕客戶? –
@ KarolyHorvath:我的意思是,如果我給予排隊長度等待,它應該被拒絕。我想知道這一點。 –
@Grijesh Chauhan:理論上......是的...... *實際上* ..誰在乎?爲什麼這會打擾你? –