- ベストアンサー
in_addrのs_addr?
struct in_addr A; (struct in_addr)型のAがありまして、Aにデータを代入するとき、よく A.s_addr = ?????; というように、「s_addr」というメンバにアクセスしてるサンプルをよく見かけますが、MSDNライブラリによると、 typedef struct in_addr { union { struct { u_char s_b1,s_b2,s_b3,s_b4; } S_un_b; struct { u_short s_w1,s_w2; } S_un_w; u_long S_addr; } S_un; } in_addr; となっていて、「s_addr」のメンバはどこにもないんですよね。。 これはどういうことなんでしょう。 ちなみに自分の発想でアクセスするとしたら、例えばu_longとしてだったら、 A.S_un.S_addr というようなものしか思いつきません。 あと、ネットワークプログラミング初心者の自分にもわかるような、WinSockについてやさしく、しかもくわしいサイトやおすすめの書籍がありましたら、是非とも教えてください。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
bcc32のwinsonk.hをみたら #define s_addr S_un.S_addr のようになっていました。 A.S_un.S_addr って打つのが面倒くさいってことでしょうね。
その他の回答 (2)
- suzugamo
- ベストアンサー率0% (0/1)
有名どころで”ねこでもわかる”のサイト http://www.kumei.ne.jp/c_lang/intro/no_91.htm もうひとつ有名どころで”wisdomsoft”のサイト http://wisdom.sakura.ne.jp/system/winapi/winsock/winSock3.html 書籍だと”ねこでもわかる”の”ネットワークプログラミング”の本がTCPやUDP通信について詳しかった. これらは,プログラミングの基本的なことでもとてもお世話になっています.
お礼
アドバイスどうもです。 しかしながら、どちらのサイトも、すでに知っていたのでした。 猫のほうは、昔から知っているのですが、出だしにはあまりむかないと思います。。サンプルソースばかりで、途中の”細かい”解説がないように思えます。入門者にとっては必要です(ええ)。ここが有名なのは、「幅広い知識を扱っている」からですし。 萌えゲー用語ばかり使っているほうのサイトは、WinAPI関数編では解説が丁寧だったのが、WinSock編では読者のレベルが高いと想定してか、表現からして難しく感じます。 高望みをしているのかもしれませんが、これらの有名所よりも仕様説明が丁寧な場所を探しています。。 最近見つけたところだと http://www.mars.dti.ne.jp/~torao/program/ とかあります。 有名であれば必ずしもいいというわけではないと思うので、WinSockだけにこだわったようなサイトはないでしょうか。
- BLUEPIXY
- ベストアンサー率50% (3003/5914)
winsonk.hになってしまいました:-) winsock.hの間違いです。 サイト・書籍はわかりません、 winsock関連の本は一応もってますが、かなり古いし・
お礼
本当ですね。。 すみません、調べたはずが、見逃してました。 しかしs_addrの表現だと頭がこんがらかるような気がしてなりません。。 どうもありがとうございます。