最近了解到有用戶使用C++進行做后端服務(wù)器,比如TCP和UDP的使用,我沒有這么使用過。所以來咨詢一下。如果對比C++做后端,WORKERMAN有什么優(yōu)勢嗎?
workerman開發(fā)效率高,動態(tài)語言無需編譯,寫php而不是c++,工作效率至少提升10倍以上,至于性能,c++要好些,但對于絕大多數(shù)項目來說,workerman足夠了
使用C/C++編寫后端服務(wù)器 性能肯定是比較高的 至少在已知的語言中是這樣。
以前我用C++寫過Windows下的IOCP模型。自己寫的話,你需要處理隊列、線程池,以及端口復(fù)用、心跳保活、指針、指針的指針、封包、數(shù)據(jù)結(jié)構(gòu)等等、、、
但是現(xiàn)在沒那么復(fù)雜了,你可以使用開源的libevent/libuv或者其他的開源網(wǎng)絡(luò)IO庫。這些庫有些是可以跨平臺的
并且可以根據(jù)平臺當(dāng)前支持的環(huán)境,自動選擇最高效的模型,比如在Windows下他是IOCP,在Linux下是epoll、event ports等等。
如果你的項目是游戲 那么可以使用C/C++,這需要你的團隊經(jīng)驗豐富。現(xiàn)在PHP Java已經(jīng)可以承載大部分的網(wǎng)絡(luò)IO任務(wù),并且開發(fā)周期短、容錯率高!
對比C++、workerman的優(yōu)勢就是可以快速開發(fā)一些物聯(lián)網(wǎng)、IM等應(yīng)用??梢苑奖愕膶觲ebsocket/uniapp這種業(yè)務(wù),并且使用網(wǎng)關(guān)對后端服務(wù)器進行快速擴充。保持穩(wěn)定?。?!