- "i":傳送命令者的索引代號
- "fn":命令名稱
- "param":命令參數
欄位"i"又分成兩種。
- i=0:系統命令,處理特殊命令如參予者加入命令,參予者離開等事件。
- i != 0:參予者輸入的命令。如聊天字串輸入,鍵盤按下,搖桿輸入等。
欄位"fn"總是字串,定義在CommandInputLib.py中。欄位"param"隨著"fn"而有所不同格式。
此練習中使用下列"fn":
- cmd_CLIENTINITIAL:client加入時的初始化處理。在此server將傳遞聊天室內的參予者暱稱清單,但只回覆給傳送此命令的client,而不是給所有的參予者。
- cmd_USERJOIN:其他client加入時的處理。將加入者的暱稱加入參予者暱稱清單。
- cmd_USERLEAV:其他client離開時的處理。將離開者的暱稱從參予者暱稱清單移除。
- cmd_TEXT:參予者的對話字串處理。將此字串與發話者暱稱連結("發話者暱稱:字串"),加入文字顯示區。
傳輸命令格式的設計目的是希望藉由"i"來分辨參與者,將"fn"與"param"傳遞給對應的參予者處理。如此參予者的行為可交由不同人獨立撰寫,自行定義私人的傳輸命令,僅以一個共同介面如
CmdExec(fn,param)來接收命令。
----
沒有留言:
張貼留言