質問: 技術書で「ネットワークプログラミング」という分野があるかと存じますが、 これが実際にはどのような業種の人たちが行っているのかがわかりません。 「オープン系、Web系、組み込み系」などの分類でいうとどのような系で行われているのでしょうか?実際の業務においてどのようなものを開発するときにそれが必要になるのでしょうか? ※当質問でのネットワークプログラミングの定義は以下とします。 IP/TCP/UDPあたりのプロトコルを利用し、ソケットやストリーム等を操作をしてデータを送受信したりするようなプログラム(を作成すること)。言語はJava, Cなど。 何卒よろしくお願い致します。
回答: スタンドアローンで構成されるシステム自体が少ないです。 Web三層を想定した場合、一般的に、APサーバとDBサーバは別インスタンスにする構成がとられますが、APサーバとDBサーバがスタンドアローンではそもそも意味がなく。NETWork接続して使います。 そこで、TCP/IPを意識するかといえば、接続時に意識しておけば、あとはアプリケーションレイヤのプロトコルが通信手順を隠蔽化してくれます。それを「ネットワークプログラムとはいわない」ととらえることができますが、結局隠蔽化されていて、下の層の別のプロトコルを誰かが制御してくれているのです。 逆に、トランスポート層のプロトコルを直接利用することは少ないでしょう。。