每個連接每個連接都需要一個線程,目前我們每個週期只允許一定數量的連接。因此,每當用戶連接時,如果我們在上次設置檢查時間的某個時間段內,就會增加計數器。允許連接給定服務器中的線程數
1.get current_time = time(0)
2.if current_time is OUTSIDE certain period from check_time,
set counter = 0, and check_time = current_time.
3.(otherwise, just leave it the way it is)
4.if counter < LIMIT, counter++ and return TRUE
5.Otherwise return FALSE
但這是獨立的,我們實際上多少個線程的服務器上運行,所以我想了一個辦法,允許根據這個數字連接。
問題是我們實際上使用第三方API,我們不知道連接將持續多久。首先,我想創建一個子線程並在其上運行ps以將結果傳遞給父線程,但似乎需要更多時間,因爲我必須解析輸出結果以獲取線程總數,等我其實不知道我是否有任何意義..順便說一下,我使用C++。你們對我如何實施新的檢查方法有什麼建議嗎?這將非常感激。
你能提供有關第三部分API你使用任何細節? – Greg
你在你的問題中提到'ps',但是你能告訴我們你正在使用哪個操作系統嗎? – snies
@Greg,我自己對這個api不是很熟悉。但在我看來,我應該有一個邏輯來決定是否在連接函數中返回true/false,並且實際的連接部分將由API。 – user945216