看板 Soft_Job 關於我們 聯絡資訊
我是原po, 先感謝各位前輩的指教和建議, 小弟覺得還是畫圖來解釋可能比較清楚. 我主管的想法: thought1 https://goo.gl/fz9ktO 我的想法: thought2 https://goo.gl/3dFlLi 其中, thought1的game logic thread1 處理命令, thought2的command handle, 都是同一個function, 只是由哪一個地方執行, 而有了爭議. 小弟以為, 按照我的想法, 可以減少重複的"聽"這個動作, 也減少不必要的IPC傳送, 還有一堆的Mutex. 還請各位指教指點. 感謝. -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.44.197.244 ※ 文章網址: https://www.ptt.cc/bbs/Soft_Job/M.1476614190.A.6DC.html
kurtsgm: 說真的 不管是大家覺得你的做法比較好 或是大家覺得主管 10/16 18:40
kurtsgm: 的做法比較好 對你來說你都不會開心的吧...爭這幹嘛咧 10/16 18:41
longlyeagle: 反正interface你做 做成一個不就好了? 10/16 18:41
tommady: 因為我想學習, 到底是我哪裡思考有盲點. 10/16 18:47
atst2: Server和Logic應該不是相對的吧? 10/16 19:07
atst2: 還是這邊的Logic指的是Client? 10/16 19:07
atst2: 另外建議原PO要不要先向主管詢問一下主管設計的理由與好處? 10/16 19:09
atst2: 第一篇看來,多半在講原PO自己設計的理由,但看不出主管想要 10/16 19:10
TSW: 應該是指 server side 要跑的邏輯。 10/16 19:10
atst2: 的設計,他的理由是什麼? 10/16 19:10
atst2: 只看到主管一直在堅持他的設計...在這種情況下,比起設計理 10/16 19:11
atst2: 念,我覺得溝通上的問題還比較大. 10/16 19:11
dreamnook: flowchart看不懂Orz 10/16 19:17
sunsamy: 看了好久都看不懂,所以原po表達或許有問題?(也有可能是 10/16 19:18
sunsamy: 我有問題)不過看來是主管要client多出一個thread來接收 10/16 19:18
sunsamy: server的command?我的意見:若是重要的中斷command,那要 10/16 19:18
sunsamy: 接收沒錯,一般的遊戲command就client自已處理就好了,所 10/16 19:18
sunsamy: 以多一個thread接收來自server的中斷沒什麼不妥 10/16 19:18
stosto: 看不懂 10/16 19:29
真抱歉, game logic是指 server side的, 簡單的說, 就是server 跑遊戲邏輯, 例如比大小, 發了什麼牌, 莊閒家誰輸贏, 每個玩家各個輸贏多少$, 都在server side 算完, 然後傳結果給client. client 會送來的命令, 也就是例如, 進入遊戲, 下注, 離開遊戲. ※ 編輯: tommady (114.44.197.244), 10/16/2016 20:05:58
pttworld: 主管1是玩家觀點,即時響應,實作難度高。 10/16 20:03
pttworld: 原po是開發觀點,簡易安全的實作。 10/16 20:03
dnabossking: 我跟你在做一模一樣的東西,我怎麼看都覺得這比較 10/16 21:01
dnabossking: 像工作分配的問題 10/16 21:01
doranako: 主管的好處是不同process,好處是server不會因為logic掛 10/17 09:49
doranako: 掉而掛掉,然後不用管你那邊會hang住,缺點是耗損比較多 10/17 09:49
doranako: performance跟速度 10/17 09:49
doranako: 你的應該比較像lib用法,好處容易debug, 速度比較快些, 10/17 09:51
doranako: 優缺點大概主管的相反 10/17 09:51
doranako: 不知道我說的對不對,不過這兩張圖看起來你們沒有誰是絕 10/17 09:52
doranako: 對正確或錯誤 10/17 09:52
其實依照golang的想法中, 我的library被call, 也是在一個(您所謂的)process, 所以和這一點其實無關, XDDD, 還是感謝您費神去觀看小弟的爛圖XDD... ※ 編輯: tommady (114.44.197.244), 10/17/2016 21:04:00