:複数のタイプのアクションをサポートするクライアントソケットとサーバーソケットの間で通信する最善の方法は何ですか?要するに
主な問題であり、オンラインゲームのために、サーバはクライアントがそのようなように、をしたいアクションの複数のタイプをサポートする必要があります「ゲームログインを」 、 "ゲームルームを作る" 、 "ゲームを起動する"、 "チャットメッセージを送信する"、 "部屋リストを取得する" ...
ソケットを使用する場合は、サーバーとクライアントの間で送受信される各メッセージからアクションの種類を区別する最も良い方法は何かを考えています。
これは私のオンラインゲームの展開は次のようになります。私が使用することを選択した場合
:、アクションの複数のタイプをサポートするための
私の最初のアイデアJSONの場合は、次のようになります。
{
"action":"signIn",
"data":{
"id":"00001",
"name":"waterball"
}
}
となり、サーバー側はJSONプロパティを解析してアクションを区別できます。
しかし、問題が発生し、私はがたくさんあるだろう "のif-else" のような説明:
if (action.equals("signIn"))
....
else if (action.equals("createRoom"))
....
else if (action.equals("launchGame"))
....
そして、プログラムは非常にスケーラブルかつunmaintainableすることができます。
Server/Clientソケット間で複数のタイプのアクションをサポートするためのより良い方法について、ご意見をお聞かせください。
ありがとうございました。
美しい犬と良い策定質問:) – davidxxx