今天主要進度是把Queue改成socket,然後修修補補
socket物件,負責底層send(), recv(),交換的資料型態是 bytes
經過擴展之後具備解析能力,這需要依賴封包定義格式,解析之後轉換成event,轉手給player
再往上一層則是需要具備處理、反應能力,最基本的反應就是 echo
再來跟據自身狀態、遊戲流程來決定 event 要接受還是不處理
目前最簡化的版本,純文字資料,指令無參數,使用空白分隔
ex: Turn_start Broadcast Update Draw_card Turn_end Heartbeat
包成一組資料的方式()
ex: (Update p1hp 150)
socket連線主機,一段時間後,等待對方傳送測試指令,接收指令後回送
DONE:
client接收到的封包會被判定包含空白字元,要確認是什麼情況
server side:
('127.0.0.1', 53311) Joined!
test after 5sec...
ACK_Turn_start
ACK_Broadcast
ACK_Update
ACK_Draw_card
ACK_Turn_end
ACK_Heartbeat
closeing client...
('127.0.0.1', 53311) Left!
('127.0.0.1', 53500) Joined!
test after 5sec...
closeing client...
('127.0.0.1', 53500) Left!
client side:
0_AddEventListener
1_AddEventListener
2_AddEventListener
3_AddEventListener
4_AddEventListener
5_AddEventListener
6_Start
6_run
"Turn_start"
"Broadcast"
"Update"
"Draw_card"
"Turn_end"
"Heartbeat"