

技術書で「ネットワークプログラミング」という分野があるかと存じますが、  
これが実際にはどのような業種の人たちが行っているのかがわかりません。

「オープン系、Web系、組み込み系」などの分類でいうとどのような系で行われているのでしょうか？実際の業務においてどのようなものを開発するときにそれが必要になるのでしょうか？

※当質問でのネットワークプログラミングの定義は以下とします。  
IP/TCP/UDPあたりのプロトコルを利用し、ソケットやストリーム等を操作をしてデータを送受信したりするようなプログラム（を作成すること）。言語はJava,
Cなど。

何卒よろしくお願い致します。


CC BY-SA 4.0
2019-11-10T06:02:50.257
60384
2020-07-01T07:25:16.937
36552
question
プログラミング言語
ネットワークプログラミングは主にどこで(どんな業種で)使われていますか？


通信が行われるところで使われます。私が経験したことがあるものとしては、たとえば以下のようなものがあります。

  * デジタルカメラやプリンタは、PC 等と Wifi で通信します
  * NAS(Network Attached Storage)はLAN内の他の機器と通信します。
  * 防衛装備品のとある装置は、他の機器と通信します(TCPだったりUDPだったり)

この stackoverflow も、ネットワークレイヤの一番上は HTTPS ですが(ですよね)下位のレイヤまで下れば TCP が使われています。


CC BY-SA 4.0
2019-11-10T08:24:00.240
60386
2019-11-10T08:24:00.240
9592
60384
answer


スタンドアローンで構成されるシステム自体が少ないです。  
Web三層を想定した場合、一般的に、APサーバとDBサーバは別インスタンスにする構成がとられますが、APサーバとDBサーバがスタンドアローンではそもそも意味がなく。NETWork接続して使います。  
そこで、TCP/IPを意識するかといえば、接続時に意識しておけば、あとはアプリケーションレイヤのプロトコルが通信手順を隠蔽化してくれます。それを「ネットワークプログラムとはいわない」ととらえることができますが、結局隠蔽化されていて、下の層の別のプロトコルを誰かが制御してくれているのです。  
逆に、トランスポート層のプロトコルを直接利用することは少ないでしょう。。


CC BY-SA 4.0
2020-05-06T04:55:46.087
66339
2020-05-06T04:55:46.087
10174
60384
answer


「オープン系、Web系、組み込み系」に関わらず、いろいろな業種で使われます。  
むしろ、ネットワークプログラムに絡まない分野の方が少ないと思います。


CC BY-SA 4.0
2020-05-06T06:36:27.230
66342
2020-05-06T06:36:27.230
24490
60384
answer


「オープン系、Web系、組み込み系」どのジャンルでも使う時は使います。てか使わない方が珍しいです。  
昔のPS2などのゲームですら一部で使われていたりしたので、今では使っていないところの方が珍しいと思います。貴方の言うネットワークプログラミングがインターネットを利用したものと限定しているのならもう少し絞れますが、逆に今の時代インターネットに接続出来ない製品を探す方が難しいのではないでしょうか？  
冷蔵庫だってインターネット接続するぐらいですから...


CC BY-SA 4.0
2020-07-01T07:25:16.937
68175
2020-07-01T07:25:16.937
34303
60384
answer