如何編寫可擴(kuò)展的基于Tcp / Ip的服務(wù)器我正處于編寫新的Windows服務(wù)應(yīng)用程序的設(shè)計階段,該應(yīng)用程序接受長連接的TCP / IP連接(即,這不像HTTP,其中有許多短連接,而是客戶端連接并保持連接數(shù)小時或數(shù)天或甚至幾周)。我正在尋找設(shè)計網(wǎng)絡(luò)架構(gòu)的最佳方法的想法。我將需要為該服務(wù)啟動至少一個線程。我正在考慮使用Asynch API(BeginRecieve等),因為我不知道在任何給定時間(可能是數(shù)百個)我將連接多少客戶端。我絕對不想為每個連接啟動一個線程。數(shù)據(jù)將主要從我的服務(wù)器流向客戶端,但有時會從客戶端發(fā)送一些命令。這主要是一個監(jiān)控應(yīng)用程序,我的服務(wù)器定期向客戶端發(fā)送狀態(tài)數(shù)據(jù)。有關(guān)盡可能擴(kuò)展的最佳方法的任何建議嗎?基本工作流程 謝謝。編輯:要明確,我正在尋找基于.net的解決方案(如果可能,C#,但任何.net語言都可以)BOUNTY注意:要獲得賞金,我希望不僅僅是一個簡單的答案。我需要一個解決方案的工作示例,作為指向我可以下載的內(nèi)容的指針或在線的簡短示例。它必須是基于.net和Windows(任何.net語言都可以接受)編輯:我要感謝所有給出好答案的人。不幸的是,我只能接受一個,我選擇接受更為人熟知的Begin / End方法。Esac的解決方案可能會更好,但它仍然足夠新,我不確定它將如何運(yùn)作。我已經(jīng)提出了我認(rèn)為很好的所有答案,我希望我能為你們做更多的事情。再次感謝。
- 3 回答
- 0 關(guān)注
- 515 瀏覽
添加回答
舉報
0/150
提交
取消