国产+高潮+在线,国产 av 仑乱内谢,www国产亚洲精品久久,51国产偷自视频区视频,成人午夜精品网站在线观看

關(guān)于嘗試做一個(gè)棋牌類型服務(wù)器的一些問(wèn)題。。

shanda0301

打算用這個(gè)嘗試做一個(gè)簡(jiǎn)單的交互APP服務(wù)器。
前提:
1、一個(gè)慵懶的c++ win平臺(tái) 服務(wù)器程序員 - -。
2、在做一個(gè)APP游戲的服務(wù)器,想嘗試一下用workerman去做
3、之前用這個(gè)做過(guò)一次,但是當(dāng)時(shí)的需求過(guò)于簡(jiǎn)單,所有的請(qǐng)求都針對(duì)個(gè)人用戶,邏輯上不牽扯到多個(gè)用戶之間的數(shù)據(jù)運(yùn)算。
4、花了1個(gè)星期,手冊(cè)閱讀完畢,其它用戶的提問(wèn)也翻來(lái)翻去看了好多。

感覺(jué)所有的準(zhǔn)備工作完事后,有些問(wèn)題搞不清楚。

就應(yīng)用來(lái)說(shuō)需求簡(jiǎn)單說(shuō)是一個(gè)棋牌游戲服務(wù)器,大家開(kāi)一桌游戲,然后一起打牌什么的。
聊天什么的也就是基本功能了,不說(shuō)。
本來(lái)基本的一起打牌什么的邏輯也是蠻簡(jiǎn)單的,以之前的做法來(lái)說(shuō),用戶連上來(lái)建個(gè)房間給管理一下,發(fā)一副牌大家消息通訊玩一玩就完了。

但是我被workerman的多進(jìn)程這玩意兒給搞暈了,寫了測(cè)試代碼看到worker是多個(gè)進(jìn)程的,用戶連上后是不一定在哪個(gè)進(jìn)程上的,那這一副牌怎么讓在不同進(jìn)程上的用戶一起玩呢?啟動(dòng)單個(gè)worker,多個(gè)gate?那在單個(gè)進(jìn)程worker撐不住的時(shí)候如何做擴(kuò)展呢?
從某個(gè)別人的問(wèn)題中看到redis擴(kuò)展,不知道我理解的對(duì)不對(duì),難道是把redis看作是全局內(nèi)存,然后多個(gè)進(jìn)程看作是從前的線程,這么看?。。。
是不是我哪點(diǎn)知識(shí)缺了,哪里理解錯(cuò)了。。。
第一次自己嘗試做一個(gè)服務(wù)器,麻煩幫忙給點(diǎn)思路,或者說(shuō)教育一下一個(gè)提供給群體的棋牌服務(wù)器應(yīng)該是一個(gè)什么樣的構(gòu)架,能實(shí)現(xiàn)進(jìn)程擴(kuò)充來(lái)支持用戶增長(zhǎng),那就更感激不盡了。>_<

8700 4 0
4個(gè)回答

walkor 打賞

感謝你這么詳盡的問(wèn)題描述。

這個(gè)問(wèn)題比較好解決,啟動(dòng)多個(gè)進(jìn)程的worker,
由于是單進(jìn)程(一個(gè)端口開(kāi)一個(gè)進(jìn)程),客戶端通過(guò)同一端口連接到的肯定是同一個(gè)進(jìn)程,這樣單個(gè)進(jìn)程內(nèi)各個(gè)客戶端通訊非常方便。棋牌類游戲,只要一個(gè)房間的幾個(gè)用戶通訊即可。

每個(gè)worker進(jìn)程可以作為一個(gè)區(qū),每個(gè)區(qū)多個(gè)房間(用進(jìn)程內(nèi)的數(shù)組來(lái)存儲(chǔ)房間數(shù)據(jù))。棋牌類游戲通訊量非常小,單個(gè)進(jìn)程能夠支持上萬(wàn)人在線了。開(kāi)多個(gè)端口實(shí)例,就等于開(kāi)多個(gè)區(qū),那么就能支持更高的在線用戶數(shù)。開(kāi)更多的服務(wù)器,每個(gè)服務(wù)器上開(kāi)多個(gè)端口實(shí)例,這樣可以幾乎無(wú)限制擴(kuò)展。

你的情況非常類似下面這個(gè)問(wèn)題,可以看下
http://wenda.workerman.net/?/question/523

  • shanda0301 2015-11-04

    ...謝謝,瞬間開(kāi)闊了,果然是我自己暈了 - -

aguai

如果是這樣的話,使用socket.io是不是更簡(jiǎn)單了?房間這一套就不用自己實(shí)現(xiàn)了?

  • 暫無(wú)評(píng)論
walkor 打賞

各有優(yōu)點(diǎn)。如果phpsocketio滿足需求可以直接用。不滿足要求時(shí)worker man量身定制更方便些 性能也會(huì)高一些

  • 暫無(wú)評(píng)論
shanda0301

網(wǎng)游服務(wù)器進(jìn)化史:早起選c++,原因運(yùn)行速度快!現(xiàn)如今,c++的缺點(diǎn)開(kāi)發(fā)成本大,難度高,速度慢。而運(yùn)算速度的優(yōu)勢(shì)面對(duì)現(xiàn)在的手機(jī)平臺(tái)需求更是不值一提。
于是考慮嘗試一下其它語(yǔ)言寫服務(wù)器。
然后有一次工作的原因嘗試過(guò)寫PHP代碼,后來(lái)從不同的框架、引擎,找到了workerman,并且嘗試著寫了一個(gè)http應(yīng)用服務(wù)。
于是,一個(gè)c++網(wǎng)絡(luò)游戲服務(wù)器程序員的PHP服務(wù)器之旅這樣一條不歸路起飛了 >_<
就不要指望我還知道些什么socket.io……thinkphp……php語(yǔ)言學(xué)問(wèn)……
現(xiàn)如今我就是一個(gè)懂得一些服務(wù)器架構(gòu)的小碼農(nóng)而已……………………

  • jelty 2015-11-06

    看看wm源碼就好了 挺簡(jiǎn)潔規(guī)范的 , 我就是對(duì)多進(jìn)程,及通訊的概念搞不清, 底子不好啊 ...我要懂c++就好了

年代過(guò)于久遠(yuǎn),無(wú)法發(fā)表回答
??