• ベストアンサー

ネットワークプログラムをどこから勉強するか

ネットワークプログラミングを勉強したいプログラマーの初心者なのですが、どこから手をつけていいのか悩んでいます。 具体的にネットワークプログラムを習って何がしたいのかというと、2台間のPCの間でデータを受け渡ししたいのです。受け渡すデータは変数を受け渡ししたいです(他にも色々したいことはあるけどあまりよくわからないので><)。 言語はできればCやC#などがいいですが、あまりこだわっていません。 もしかしたら結構的外れなことを言ってるかもしれませが、様は勉強をしていって最終的には2台間のパソコンの間でデータを受け渡しできるようになるようなサイトや本、又は方針などを、知っていれば教えていただきたいです。  正直かなり抽象的な質問ですが、御回答をよろしければおねがいします。

質問者が選んだベストアンサー

  • ベストアンサー
  • OKbokuzyo
  • ベストアンサー率43% (130/296)
回答No.2

私の経験から言えば「プログラミングをやったことがある」程度では 1冊本を読んだくらいで簡単に理解できる分野ではないです。 とはいえ、なにかしらしなければ先には進めないので ネットワークプログラミングに関する書籍は多数出ていますから まずは書店に足を運んでどれがいいかご自身でよく吟味した方がいいと思います。 言語がCがよければ、確か「猫でもわかる~」シリーズはCで解説されていたと思います。 http://www.amazon.co.jp/%E7%8C%AB%E3%81%A7%E3%82%82%E3%82%8F%E3%81%8B%E3%82%8B%E3%83%8D%E3%83%83%E3%83%88%E3%83%AF%E3%83%BC%E3%82%AF%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0-Neko-%E7%B2%82%E4%BA%95-%E5%BA%B7%E5%AD%9D/dp/4797323604 ネットワークプログラミングはソケットを使うのが一般的ですが 質問者様がもしその辺の知識に疎いのであれば 現存するネットワーク技術も同時に勉強した方が理解が深まると思います。 その辺の勉強には、なぜシリーズの「ネットワークはなぜつながるのか」が私のオススメです。 http://www.amazon.co.jp/%E3%83%8D%E3%83%83%E3%83%88%E3%83%AF%E3%83%BC%E3%82%AF%E3%81%AF%E3%81%AA%E3%81%9C%E3%81%A4%E3%81%AA%E3%81%8C%E3%82%8B%E3%81%AE%E3%81%8B-%E7%AC%AC2%E7%89%88-%E7%9F%A5%E3%81%A3%E3%81%A6%E3%81%8A%E3%81%8D%E3%81%9F%E3%81%84TCP-IP%E3%80%81LAN%E3%80%81%E5%85%89%E3%83%95%E3%82%A1%E3%82%A4%E3%83%90%E3%81%AE%E5%9F%BA%E7%A4%8E%E7%9F%A5%E8%AD%98-%E6%88%B8%E6%A0%B9/dp/4822283119/ref=sr_1_1?ie=UTF8&s=books&qid=1216825089&sr=1-1 >>2台間のPCの間でデータを受け渡ししたいのです。 Javaですが、下記URLではネットワークプログラミングの基本を紹介しています。 http://www.hellohiro.com/socket.htm 最近ではゴリゴリと自分たちで作るばかりでなく、 プログラミングの手間や信頼性を確保するために 既存のライブラリやフレームワークを使うケースが増えています。 どちらかというと、こっちを知っている方が実務では役立つかもしれません。 あと、データを送るくらいだとさほど理解せずとも簡単にできてしまいますので とりあえずの目標としては、FTPサーバとFTPクライアントを自分で作ってみるくらいが 難易度的にもちょうど良いのではないでしょうか。

lain_003
質問者

お礼

すべてのサイトを見させていただきました。たくさんの情報ありがとうございますm(__)m とりあえず「C#で始めるネットワークプログラミング」という本があったので、それから始めようかと思います。 ネットワークプログラム・・・難しそうですががんばります^^ ありがとうございました。

その他の回答 (1)

  • equinox2
  • ベストアンサー率48% (321/660)
回答No.1
lain_003
質問者

お礼

ありがとうございます。 参考にさせていただきます。