C/C++語言在Windows下服務端開發,有哪些開源項目?
01-06
剛剛接手了這個任務,要在Windows下用C或C++開發伺服器端程序.
目前基本沒有思路,希望大家暢所欲言給點思路.對高並發要求很大.不過我之前幾乎沒做過這方面的工作,只是用java 開發過webservice服務,基本都是調用現成的java框架.
其實伺服器端程序很簡單,業務也不複雜.就是別人傳過來個消息,你調用底層庫(Delphi開發),然後把結果返回就行了.
得用IOCP和httpsys,因為都做進系統里了,而且性能巨好,所以在windows下搞這個都沒法造輪子了,就連linux的那些移植過來也用的是這兩個。
你如果自己寫著玩,那盡可以用各種東西;你如果要快速穩定的完成你的任務,那麼給你指條正道:結合你的技術,Java熟的話,使用 java + jetty來進行開發:
1. Java 7以後,jetty在 windows下自動支持 iocp技術,其他系統使用 nio。
2. Jetty不需要在你進程前面加一個累贅的 HTTP Server,直接和你在同一個進程裡面提供服務。3. Jetty足夠滿足你的業務所謂 「高並發」 的要求,性能不亞於 libevent的 http庫。4. Delphi 這個底層庫是 DLL?如果是的話,你可以用 jna或者 jni來調用它;如果不是的話,你自己安裝delphi或者讓熟悉 delphi的人幫你弄成個 dll給你跨語言調用。5. Http足夠標準,不需要另外開發一分客戶端請求的代碼。各種語言都有請求 http的庫供你直接使用。6. Http足夠簡單,你用 ie就可以方便的調試。
7. 哪天你又要把這套系統移植到其他系統的話,代碼完全不需要更改。---------------重要的是可以快速把東西弄出來,且很穩定,不用采坑。符合你任務需求,又能讓你溫故知新。PS: 注意下你 Delphi庫是否是線程安全的。不是的話,你加把鎖。libuv
libevent你說的高並發是多少?K數量級一個請求一個線程也不會有問題的美國NASDAQ股票交易市場使用Windows 2003Server上跑IOCP,想必你的問題IOCP肯定能很好解決吧?外加現在IOCP的使用成本超低,沒理由不使用。
推薦閱讀:
※哪些事情是 Windows 能做但 OS X 不能做的?
※如何評價Remix OS?以及未來對安卓平板的影響?
※win10怎樣去掉下面兩個提示?「無法使用內置管理員賬戶打開」 「你需要提供管理員許可權才能刪除此文件」
TAG:MicrosoftWindows | 開源項目 | 服務端開發 |