簡體   English   中英

單客戶端服務器的最佳實踐?

[英]Best practice for single client servers?

最好是啟動一個線程來處理一個客戶端,另一個線程又要處理另一個連接的線程,但告訴他們服務器忙,還是我應該堅持使用單線程方法,在該線程中,同一線程接受並處理客戶端,因此其他線程可以不連接嗎? (如果是這樣的話)

編輯:我應該注意,不會有239482340人連接到它。 通常只有一個人將連接到服務器,但是我希望我的應用程序可以與另一個嘗試連接的人打交道,而不會摔倒。

堅持使用單個線程對服務器更好,因為資源消耗非常低。 但是,這可能會使客戶端感到煩惱,因為它不知道服務器是否有問題或是否正忙。

具有告訴其他用戶服務器繁忙的線程會占用更多資源,但對客戶端來說更好。

在您的特定情況下,兩種方法都應該可以。 我想這真的取決於客戶和他們想要的...:-/

通常使用兩種主要策略來構建這種系統:

  • 一種基於多線程策略的解決方案,為每個傳入請求分配不同的線程或進程。 許多商業服務器都使用此模型
  • 事件驅動模型基於使用非阻塞I / O操作來同時響應來自不同客戶端的許多請求。 這是一種日益增長的方法。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM