我正在製作一個unix ssl服務器/客戶端。到目前爲止,我已使用select實現了FD_SET
以在一個主服務器進程中同時處理所有連接。但由於__FD_SETSIZE
客戶端的數量只能是1024.我需要增加客戶端的數量和服務器的效率。改變__FD_SETSIZE
有潛在的問題(顯然?),所以我卡住了。我該如何編寫我自己的製作網站服務器?
迄今爲止,所述網絡包括:errno.h中檢測,信號檢測 - >原子的處理,FD_SET - >選擇(),成功的流套接字基礎的通信。
我真的很感激,如果有人可以告訴我,我該怎麼辦? 1024之後是否會出現fork()
(如果它甚至可以執行,則會出現它自己的問題?)我是否實現了處理每個客戶端請求或僅處理客戶端數據或兩者的線程?
您認爲最好的網絡架構是什麼?請記住它是一個基於套接字流的連接,旨在儘可能多地處理懲罰,並允許儘可能多的客戶端到服務器。
這功課嗎?你已經擁有兩個基本的機制(進程和線程)。沒有「最好」的答案。 – msw
沒有不作業,我試圖爲我自己創建一個客戶端服務器,我可以用它來爲我的應用程序(anroid/ios)進行業務。這將允許我輕鬆地重新編譯我的服務器,而不是嘗試配置Apache。該服務器應該能夠處理儘可能多的客戶端併爲他們的請求提供服務。目前使用fd_set並選擇我已達到最大1024個客戶端的路障。不知道下一步該怎麼做? – aali83
下一步做什麼?不要寫自己的網絡服務器 - 真的 - 你會錯誤的。如果Apache太重量級看看lighttpd這樣的東西。 – msw