今天摸struct資料封裝的部份,感覺還需要弄一陣子,蠻多要思考的東西
覺得可能不用定義封包長度,只要根據[指令類型]就可以查表得知[封包長度]
更新資料的格式還沒想好
廣播訊息
覺得會是另一個大工程,暫時還沒弄到那邊先放著。但肯定用不管有沒有用字串樣板都會是不固定長度的資料
心跳信號
因為這遊戲大部分時間都在等待其中一位玩家,為了確保玩家連線狀態穩定,應該會加入這個機制。判定斷線、重新連接遊戲…這些動作會增加額外的程式碼,暫時先不考慮。
TCP拆包,理論上按照順序讀取就不會有問題。只是不確定有沒有自己沒想到的問題
系統:
send回合開始
send更新資料
send廣播訊息
send玩家抽牌
send回合結束
send心跳訊號
recv玩家行動
recv玩家棄牌
用戶端:
recv回合開始
recv更新資料
recv廣播訊息
recv玩家抽牌
recv回合結束
recv心跳信號
send玩家行動
send玩家棄牌
更新資料和廣播訊息,比較多細節。
先從玩家行動相關的事件實作
以上