我正在研究TCP/IP項目(服務器和許多客戶端)。我用C完全編寫了代碼。我觀察到,無論何時一個新的客戶端連接到服務器,函數accept()
都會爲該特定連接返回一個數字。重新分配C連接值的TCP/IP
newton = accept(mysocket, (struct sockaddr *)&dest, &socksize)
在上面的代碼newcon
爲不同的客戶端不同。每當客戶端斷開連接時,分配給該斷開連接的客戶端的連接號碼就會消失。這個號碼根本不會被分配給另一個客戶端。如果服務器有許多用戶,則客戶端連接並斷開很多次。所以數量繼續增加(從0到更大的數字)。如果服務器連接了數百萬個客戶端,我應該如何處理這個問題?有什麼方法可以重新使用連接號碼嗎?
'這個號碼根本不會被分配給另一個客戶端.'錯誤。accept()系統調用返回新連接的最低可用文件描述符。所以fd(數字)被回收。 – joop