2015-11-19 46 views
2

我想設計,它支持多個客戶端的服務器。 我曾想過設計多客戶端服務器的解決方案。設計,它支持多個客戶端QT使用套接字

解決的辦法是: 我可以爲server.Each線程每個客戶端將處理與每個客戶端通信創建線程。

現在如果有50個客戶,然後50個線程將在服務器端生成假設。

但如果有1000個客戶,然後1000線將在server.Which會產生不好的解決方案。(因爲處理1000個線程系統不會出現這樣容易,我想是這樣。)

或者 以上如果我們假設服務器有更多的內存,強大的處理器等

將上述解決方案有利於我的設計的設計將正常工作? 如果它不好,那麼是否有任何其他方式來開發qt中的多客戶端服務器?

回答

1

我會recomand你看看在MSDN的I/O完成端口

https://msdn.microsoft.com/en-us/library/windows/desktop/aa365198(v=vs.85).aspx

http://www.codeproject.com/Articles/13382/A-simple-application-using-I-O-Completion-Ports-an

它是微軟的一項專利,以保持插座的一個大數目和通過使用* 2數量的核作爲線程的量來處理套接字處理從他們的要求,我曾經處理8核心服務器上4000個套接字處理RTP

+0

USer22999299 4000流:■ o我可以實現多線程服務器嗎?它會是好設計嗎? –

+0

@spaceearth沒錯,這就是我們所做的,我們在服務器上通過I/O完成端口4000個打開插槽和8個線程處理的請求和responeds。 – USer22999299