簡単なクライアント - サーバー アプリケーションを作成します。それは、Java またはあなたが最も好きな言語で行うことができます。クライアント - サーバーに慣れていない場合は、最も慣れている言語から始めてください。次に、あなたが通う予定の大学が別のプログラミング言語を使用している場合は、その大学が使用するものを模倣した環境で同じプログラムを再作成してみてください。
プログラミングはそれほど得意ではないが、単純なクライアント/サーバー アプリケーションをプログラミングしたことがない人を見てきました。または、Linux や Java に慣れていない人。これらの人々にとって、最初の数ヶ月はとてもつらいものです。すでにクラスで学べるものは十分にあります。新しい OS や言語を同時に学習することは、通常、クールではありません。
実行できる典型的なクライアント/サーバー アプリは、「数学プロバイダー サービス」です。基本的に、サーバーはポートをリッスンし、クライアントはリクエストを送信します。シンプルにするために、プレーン テキストのリクエスト (例: "add;12;34") を送信すると、サーバーは "answer:46" のような応答を返すことができます。
それほど複雑ではありませんが、そのようなことをしたことがない場合は、マスターを開始する前に本当にそうするでしょう.
物事の「やり方」を知る。それは非常に重要です。マスターはかなり理論的であることを期待できます。おそらく、ソケットの開き方、ポートへのバインド方法、期待できる例外の種類は教えてくれません (ええ、私は Java でプログラミングしています)。等々。ロックアルゴリズム、負荷分散などを実装することが期待されるでしょう。しかし、それらを行うには、基本的なことを行う方法を理解する必要があります!
あなたが初心者なら、George Colouris による Distributed Systems: Concept and Design をお勧めします (名前が少し間違っているかもしれませんが、それは私の頭の中にあります)。基本、ランポート、TCP/UCP/IP など、ほとんどすべてをカバーしています。たとえば、その本にあるクライアント/サーバーの Java の例は、ネット上で見つけられるものよりもはるかに優れています。まったく違うわけではありませんが (サーバーはサーバーです...)、はるかに理解しやすいと思います。
これに慣れたら、もっと強力なものを試してみたいと思うかもしれません。私の経験では、構成に多くの時間を費やすことになります (なぜ機能しないのでしょうか? ホー! クラスパスです! ホー! そのファイルは誰でも実行可能ではありません! ホー! これらのクラスは WEB-INF/ にあります。クラスであり、WEB-APPS ではありません)。したがって、自宅で小さな Tomcat/Glassfish サーバーをセットアップしてみることができます。その上で SOAP または JMS を実行し、それらのサービスを使用するクライアントをコーディングしてみてください。そうすれば、同僚より何マイルも先を行くことができます :)