ここに私は現在いる。私は将来の仕事のために主要な構成要素を利用する目的でカードゲームをデザインしています。私をぶち壊している部分は、サーバーとクライアントの間に抽象化の層を作り出しています。サーバーが起動され、1つ以上のクライアントが(ローカルまたはリモートで)接続できます。私は太いクライアントを設計していますが、私の友人はウェブベースのクライアントを見ています。私は、さまざまなクライアントが共通のサーバーコマンドセットを呼び出すことができるようにサーバーを設計したいと考えています。Pythonゲームプログラムの抽象化とクライアント/サーバーアーキテクチャの質問
ゲームのルールとプレーヤーのやりとりを管理する 'サーバー'と、ローカルCLI(私は便宜上Ubuntu Linuxを実行しています)で 'クライアント'を作成したいと考えています。私は、将来のクライアントがCLIベースまたはローカルマシンであることを強制することなく、2つの部分がどのようにやり取りされるのかを明らかにしようとしています。
私は有益な以下の2つの質問を見つけましたが、上記にはあまり答えていません。
私はすぐにフル機能の何を必要としません。私は、抽象化のための基本的なメカニズムを確立して、結果のモックアップコードが関係を適切に反映するようにしたいだけです。オールインワンアプリケーションよりもクライアント/サーバー関係でさまざまな前提があります。
どこから始めますか?どのようなリソースをお勧めしますか?
免責事項: 私はさまざまな言語や一般的なプログラミング/ロジックの概念に精通していますが、相当量のコードを書くことはほとんどありません。このペットプロジェクトはこれを解決する試みです。
また、すでに情報があることは知っていますが、私は木の森が欠けているという強い印象を持っています。
「ステートレス」要件は私に関係します。サーバがクライアントコンテキストを保持していない場合、ゲームアプリケーションは各リクエストでかなりのオーバーヘッドを必要とするように見えます。 – hewhocutsdown
プロトコルはステートレスです。各メッセージは完全に独立しています。 Webサーバーは、常にREST経由でセッションを維持します。サーバーはステートフルにすることができます。ただし、メッセージは独立しています(ステートレス)。シーケンスナンバリングや「HELO、DOTHIS、BYE」のメッセージはありません。 –
私はあなたが言っていると思うことを繰り返します: ウェブサーバーは、ゲームやプレイヤーに関する情報を保存していてもよく、クライアントは同じことをするかもしれません。しかし、無国籍は、両者間の通信に適用されます。 PUT要求には、それ自体の前後に要件はありません。それはある意味で自給自足です。 これは、アレックス・マルテッリの推薦に従って、アプリケーションが純粋にクライアント主導であると推測していますか? – hewhocutsdown