プロが教えるわが家の防犯対策術!

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についてやさしく、しかもくわしいサイトやおすすめの書籍がありましたら、是非とも教えてください。

A 回答 (3件)

bcc32のwinsonk.hをみたら



#define s_addr S_un.S_addr

のようになっていました。
A.S_un.S_addr
って打つのが面倒くさいってことでしょうね。
    • good
    • 0
この回答へのお礼

本当ですね。。
すみません、調べたはずが、見逃してました。
しかしs_addrの表現だと頭がこんがらかるような気がしてなりません。。

どうもありがとうございます。

お礼日時:2005/04/04 09:50

有名どころで”ねこでもわかる”のサイト


http://www.kumei.ne.jp/c_lang/intro/no_91.htm

もうひとつ有名どころで”wisdomsoft”のサイト
http://wisdom.sakura.ne.jp/system/winapi/winsock …

書籍だと”ねこでもわかる”の”ネットワークプログラミング”の本がTCPやUDP通信について詳しかった.

これらは,プログラミングの基本的なことでもとてもお世話になっています.
    • good
    • 0
この回答へのお礼

アドバイスどうもです。
しかしながら、どちらのサイトも、すでに知っていたのでした。

猫のほうは、昔から知っているのですが、出だしにはあまりむかないと思います。。サンプルソースばかりで、途中の”細かい”解説がないように思えます。入門者にとっては必要です(ええ)。ここが有名なのは、「幅広い知識を扱っている」からですし。

萌えゲー用語ばかり使っているほうのサイトは、WinAPI関数編では解説が丁寧だったのが、WinSock編では読者のレベルが高いと想定してか、表現からして難しく感じます。

高望みをしているのかもしれませんが、これらの有名所よりも仕様説明が丁寧な場所を探しています。。

最近見つけたところだと
http://www.mars.dti.ne.jp/~torao/program/
とかあります。
有名であれば必ずしもいいというわけではないと思うので、WinSockだけにこだわったようなサイトはないでしょうか。

お礼日時:2005/04/04 09:59

winsonk.hになってしまいました:-)


winsock.hの間違いです。

サイト・書籍はわかりません、
winsock関連の本は一応もってますが、かなり古いし・
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!