winsockでもunixのsocketでも

1名無しさん@1周年
ネットワークプログラミングの入門書ってどれがいいんでしょ?
手元には

  WinSockによるWindowsネットワークプログラミング
    A.Dumas著 海江田訳 アスキー

ってのがあるけどどうも?なんで...。

あとネットワークヤルならとりあえずこれ読んどけってやつ
あったらよろしく!

おすすめサイトとかでもOKだね。
2名無しさん@1周年:2000/06/13(火) 02:57
http://www.nakka.com/
はわかりやすいと思ったよ。
3名無しさん@1周年:2000/06/13(火) 02:58
>WinSockによるWindowsネットワークプログラミング

そりゃまた古い本(1995年)を・・・

ソケット全般は「UNIXネットワークプログラミング第二版vol1(トッパン)」
Winsock特有の部分は「Winsock2.0プログラミング(ソフトバンク)」

がお勧めというかこれ以外あんまりいい本って知らない・・・
4さばひと:2000/06/13(火) 03:13
>WinSockによるWindowsネットワークプログラミング
この本の、WinでFTPサーバ作るときに読んだけど、
結構役に立ちましたよ。
WinSockによる~とか言いつつ、TCP/IPの実装に
わりとつっこんだ説明もあって、いい本だったと思うっス。
非同期API使うところなんか、イベントループからの説明まで
いちいちしてくれてたし。

>「Winsock2.0プログラミング(ソフトバンク)」
は、2.0での追加機能の説明が多く、1.1からのWSA系APIを
ちゃんと勉強するのに、あんまり役に立たなかった覚えがあるっス。

今のオススメっていうと知らないですけど…
52:2000/06/13(火) 03:29
>>「Winsock2.0プログラミング(ソフトバンク)」
>は2.0での追加機能の説明が多く、1.1からのWSA系APIを
>ちゃんと勉強するのに、あんまり役に立たなかった覚えがあるっス。

そうですか。俺はそれで非同期ソケットを勉強したのでなんともいえないですが・・・
けど良く考えたらちゃんと非同期ソケットを説明した本って1の言ってる本と
「Winsock2.0プログラミング」の二冊しか知らないなぁ・・・

65:2000/06/13(火) 03:29
まちがえた。3だった。2さんごめんなさい。
7名無しさん@1周年:2000/06/13(火) 06:31
古い本だけど、"UNIXネットワークベストプログラミング入門(アスキー)"。
81:2000/06/13(火) 16:47
今まで出た奴は、まあ本屋でも見かけるんですけど、モットいいのがあるのかなあって思って。
でもあんまり出てないんですか?>ネットワークプログラミング本
できれば新し目のがいいなぁ...。
9名無しさん@1周年:2000/06/13(火) 17:10
ネットワーク系の本は、今一応用書籍が出てません
さぁ書くなら今!
10名無しさん@1周年:2000/06/13(火) 23:39
winsockの本って洋書でもあまりないですよね。
VBプログラマ用のネットワークの本はわんさかある気がしますが。
11>7:2000/06/13(火) 23:47
htons()@` ntohs() も使ってないような本はだめです。捨てましょう。
127>11:2000/06/14(水) 00:14
これのほかにめぼしい入門書が無いから捨てられん!!

捨てろという前に有用な情報を下さい。
もちろん、入門者用のだよ。
13名無しさん@1周年:2000/06/14(水) 00:19
いまだにこれをブックマークしてるとは。。。
http://www.netlab.co.jp/neteye/3min.html
1413:2000/06/14(水) 00:21
書きこむ板をまちがえちゃった。ごめんささい。
1511>12:2000/06/14(水) 00:35
あの本の内容が理解できてプログラムも書けてるなら、もはや入門者じゃないよ。
当然次に読むべきはStevensの「UNIXネットワークプログラミング」でしょう。

16BeBe:2000/06/14(水) 00:40
>15
8000円以上するけどね
1711>16:2000/06/14(水) 01:27
そんだけの価値はあると思うけどね。
ちなみにあれって3分冊なんだっけ?
あとIPv6関連で間違った記述があるから気を付けよう。
18名無しさん@1周年:2000/06/14(水) 01:39
トップバンつぶれたの?
19入門書としては:2000/06/14(水) 02:22
Javaなら「基礎からわかるJavaネットワークプログラミング(オーム社)」
Perlなら「Perl徹底活用インターネットダイレクトアクセス(星雲社)」
あたりがお勧めなんですが・・・

Cでは入門書は見当たりませんねぇ・・・
20名無しさん@1周年:2000/06/15(木) 01:19
「Winsock2.0プログラミング(ソフトバンク)」とこの本
http://www.amazon.com/exec/obidos/ASIN/0201633728/qid%3D960997943/103-1909674-8226247
のどっちを買った方がいいでしょ?
21>20:2000/06/15(木) 04:01
日本語でるの?
2220:2000/06/15(木) 04:46
>21
すみません。日本語でるって話は聞きません。たんにamazon.comで評判がいいからどんなもんだろって思っただけです。
231:2000/06/15(木) 16:05
現時点では、
Winなら "WinSock2.0プログラミング"(ソフトバンク)が最良
unixなら"UNIXネットワークベストプログラミング入門(アスキー)"でがんばってから、
"UNIXネットワークプログラミング(トッパン)"で仕上げる
って感じなんでしょうか?

ところでこの種の本の需要ってないんですかね。
24>23:2000/06/15(木) 16:54
最近はセキュリティーのこともあって、何でもかんでも
httpでやろうってのが多いからなsocketは無視されてる。

つーか、socket本を書けるだけの技術がある人が少ない
から需要があっても出てこないんじゃない。
25とりあえずどうぞ:2000/06/15(木) 19:30
26名無しさん@1周年:2000/06/16(金) 15:17
ソケット本の個人的批評(ランクはS~D)

UNIXネットワークプログラミング
お勧め S 入門 C

良くも悪くもUNIX界ではネットワークプログラミングのバイブルです。
(注:UNIX界におけるバイブルとは他にまともな本がないという現状を表す(嘘?))
入門用にはとても薦められませんが^^;、本格的に勉強しておきたいと
思っている人は持っておいても損はないかと。


Winsock2.0プログラミング
お勧め A 入門 C

唯一Winsock2.0のAPIについてちゃんと解説してある本です。
それほど今のSocket本事情はサムイのです(;´Д`)
他にもWinsock1.1の非同期ソケットやMFCのCASyncSocketクラス。
生ソケットなどにも触れており、上記のUNIXネットワークプログラミング
ほどではないですが、結構幅広く扱ってます。
これも入門者向きとはいえませんがWinsockを本気でやりたい人は必読です。


WinsockによるWindowsネットワークプログラミング
お勧め B 入門 C

ちょっと古い本ですが、Winsockの非同期ソケットを扱っている数少ない本の一つ。
それほど今のSocket本事情はサムイのです(しつこい)
使いやすいように独自のクラスライブラリ(MFCベース)も載ってあります。
お勧め度はやや低いですが古いということだけで悪い本というわけではないです。


インターネットのためのWinsockプログラミング
お勧め B 入門 C

入門書としては上記のものよりはいいのですが、ソースコードのコメントが英語なので
初めての人はさっぱりわからないと思います^^;
C++ですが、メールクライアントやニュースクライアントの詳しいソースが
載っていますので、作ってみたいと思っている人は参考にしてみては。


TCP/IPによるネットワーク構築 Vol3(BSDソケット編/Winsock編)
お勧め C 入門 D

中身は教科書そのものと言った感じですので教科書アレルギーな方にはお勧めできません^^;
両方ともけっこうな値段がするのでどうせならUNIXネットワークプログラミング
やWinsock2.0プログラミングを買ったほうがいいかと。
この本の有効な使い道はBSDソケット編とWinsock編を両方買って
UNIXアプリをWindowsに移植する際の参考にする事くらいでしょうか^^;
forkをスレッドに置き換えただけといった感じですが(おい)
27名無しさん@1周年:2000/06/16(金) 15:18
続き

TCP/IP解析とソケットプログラミング
お勧め C 入門 D

TCP/IP解析のタイトルどおりパケットの解析やってます。
まぁ、TCP/IPの勉強としては面白いかもしれないですが、
肝心のSocketプログラミングの部分はWinsock・Java・UNIX・
メインフレーム^^;と変に幅広く扱いすぎたせいか内容がちょっとした
関数の説明とプログラムをひとつ貼り付けただけになってしまっているので
はっきりいって使えません。
どうせならどれか1つにしぼってほしかったなぁ。


インターネットプログラミング UNIXクライアント/サーバーアプリケーションの基本とWinsock
お勧め C 入門 B

悪くはないのですが、サンプルプログラムのインデントが怪しいのと
ソースを丸々乗せているので説明に割いているページは少なくなっています。
サブタイトルのWinsockに関してはVCでDLL+VBでGUIという開発スタイルなのと
サーバーはUNIXでという筆者の考えによりクライアントのみとなっている点から
ちょっと薦められないかなと。ほとんどソースコードだし^^;
これはネットワークプログラムのサンプルコード集なんだと割り切れば損じゃないかもしれません。
ソケット本としては安いほうだし^^;


UNIXネットワークベストプログラミング入門
お勧め B 入門 B

バイトオーダー完全無視という過ち(?)さえしなければまちがいなく
良書だったんだろうけどねぇ・・・。入門書としては致命的かもしれません^^;
サンプルプログラムとしてゲームをいくつか扱っているので
バイトオーダーさえ気をつければ面白い本だと思います。


プログラミングリファレンス UNIXネットワークプログラミング

トッパンのとタイトルが同じですが、内容には雲泥の差があります^^;
前半はネットワークの説明。後半はソケットの説明という
構成は別にかまわないのですが、どちらも中途半端の感が否めません。
授業に使う教科書としてはそれでもいいのでしょうが、
個人の勉強につかうのならやっぱりそれぞれ別の本を買った方がいいと
思うのですが・・・。


TCP/IPとソケット

上記の本と同じです。違いはソケットの説明がWinsockの説明になっているくらいです。
というわけで批評も上記とほとんど同じなので省略。
28名無しさん:2000/06/16(金) 17:52
>26@`27
すごく参考になりました。
「UNIXネットワークプログラミング 」と「Winsock2.0プログラミング 」を
買ってきます。

29名無しさん@1周年:2000/06/16(金) 23:40
>26,27
おおおおすごいですうううううう。
本屋でみかける全部の本を解説してるじゃありませんか。
301:2000/06/17(土) 00:20
いやぁ、ほんっとに助かります。
winベースでやろうと思うんで"Winsock2.0プログラミング"
にしときます。余裕があったら
"UNIXネットワークプログラミング"もがんばろかな?

20のamazon.comのリンクたどると、洋書では結構あるようだけど
向こうの方が活発なようですねぇ。
31名無しさん@1周年:2000/07/02(日) 01:51
ネットワークプログラミングage
32>ALL:2000/07/02(日) 02:05
UNIXネットワークプログラミングは高いよ
税込み8400円だからね
33名無しさん@1周年:2000/07/02(日) 02:13
>>32
値段が高かろうが、中身があって勉強の役に立つならいいやん。
34名無しさん@1周年:2000/07/02(日) 02:14
本なんか買わんとコアラ大将で入門すれ。
35名無しさん@1周年:2000/07/02(日) 15:44
本買った方が良い。UNIXネットワークプログラミング萌え~
36ソケット覚えたいなら:2000/07/02(日) 15:55
winsockは、サブセットなんだから、UNIXで覚えたほうがいいよ。
37名無しさん@1周年:2000/07/02(日) 16:27
>>32

いっておくがUNIXネットワークプログラミング以外の
UNIXソケット本はみんなクソだよ。

>>36

Winsock独自の部分もいくつかあるので、
サブセットと言い切るのはちょっと乱暴かと。
38>37:2000/07/02(日) 16:49
Windows依存部分の拡張は、ある意味スーパーセットとも言えるかもしれんけどね。
HANDLEとSOCKETに互換性持たせて欲しかったなぁ。
39名無しさん@1周年:2000/07/02(日) 20:12
WinSockは、サブセットではなしにスーパーセットです。

>38 俺はWindowHandleなソケットディスクリプタがラブリーすぎ。
4039:2000/07/02(日) 20:15
ちゃうちゃう、カーネルオブジェクトから独立した
ソケットディスクリプタが最高の間違いだった。
41>40:2000/07/02(日) 20:21
>カーネルオブジェクトから独立したソケットディスクリプタが最高
そうかなぁ?すげぇ使いにくいんだけど。
42>40:2000/07/02(日) 21:12
WinSock1.xはメッセージで非同期通信を実現しているので
別スレッドの場合わざわざダミーウインドウ作ったりしてめんどうだね。

マルチスレッド環境では通信は別スレッドにしてsocketを使って
作るのがオラはきれいだと思うけど。
43名無しさん@1周年:2000/07/02(日) 21:30
UNIXでもたいていfork使ってる。
44名無しさん@1周年:2000/07/02(日) 21:35
HANDLEとSOCKETに互換性持たせてどうするんだ?
45>44:2000/07/02(日) 22:12
UNIXのみたいに、パイプと一緒に扱えるじゃん。
46名無しさん@1周年:2000/07/03(月) 02:24
実際この辺はWinSockの仕様作るときにかなり議論されたと
思うんだけど、Messageベースのスタイルを取り込むことが重要視されて、
Unixみたく美しくならなかったんじゃないかなぁ。

多分、どっかにその辺の議論の過程とか落ちてると思うんで、
知ってる人、ポインタきぼーん。

>マルチスレッド環境では通信は別スレッドにしてsocketを使って
この辺の処理がUnixより簡単に出来るのがWinSockを非同期で
使う利点なんだと思う。
WSASelectは、かなり美しいイベントドリブンのスタイルでかけるし。
47名無しさん@1周年:2000/07/03(月) 03:31
つーか通信とウインドウって関係ないからWinSock1.Xは仕様が変。
2.Xはたしかイベント対応なのでまっとうだと思います。
48>47:2000/07/03(月) 03:39
>つーか通信とウインドウって関係ないからWinSock1.Xは仕様が変。
そもそも、メッセージのやりとりには何でもかんでも
WindowHandle使うのがMS-Windowsの流儀だから、
その批判をWinScokに向けるのは筋違いだよ。
WinSock2.0も、基本は変わってないよ。
49ウィリアム・ゲイツ:2000/07/03(月) 04:24
Windows なんだから
Window をたくさんつくらせてなにが悪い!
50>49:2000/07/03(月) 07:59
低脳か?
51名無しさん@1周年:2000/07/03(月) 08:39
>つーか通信とウインドウって関係ないからWinSock1.Xは仕様が変。

Win3.1時代、マルチスレッドがクソでひとたびブロックかかるとWindows全体か動かなくなってしまうという
ソケットを作る立場から見てふんだりけったりの時代の苦肉の策なんだから仕方ないんじゃないか?
52名無しさん@1周年:2000/07/03(月) 13:21
>51
3.1の時代にマルチスレッドなんてあったか?
5351:2000/07/03(月) 13:32
そうだね、ちょっと勘違いした。
54名無しさん@1周年:2000/07/08(土) 13:05
トッパンの本は在庫が無いので入手できません、て言われました。
55名無しさん@1周年:2000/07/08(土) 13:15
まぁ、Win3.1はプリエンプティブなマルチタスクのはずだったからね。
Win32sは必ず作るのに失敗するっていうマルチスレッドだったっけ。
56名無しさん@1周年:2000/07/08(土) 13:18
じきに面白いライブラリが現れるよ。

非ブロックモードは過去の遺物。スレッドをまわせば
ブロックモードでもちゃんと通信できるし、コードが
簡単になる。
57名無しさん@そうだ選挙にいこう:2000/07/08(土) 14:52
>55
Win3.1はノンプリエンプティブのはずだが・・・。
58>56
ソケットのノンブロックモードは、sendやconnectでブロックされたくないから、使うんだけどね。
スレッドを使うと言うことは、ソケットで複雑さを軽減する変わりに、
スレッド間の同期やら、データ受け渡しで、それなりに複雑化すると思うが。
それが複雑化しない程度の通信なら、どうでもいいことだけどね。