こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

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

投稿日時 - 2005-04-04 00:00:28

QNo.1309907

暇なときに回答ください

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

bcc32のwinsonk.hをみたら

#define s_addr S_un.S_addr

のようになっていました。
A.S_un.S_addr
って打つのが面倒くさいってことでしょうね。

投稿日時 - 2005-04-04 00:40:37

お礼

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

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

投稿日時 - 2005-04-04 09:50:12

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(3)

ANo.3

有名どころで”ねこでもわかる”のサイト
http://www.kumei.ne.jp/c_lang/intro/no_91.htm

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

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

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

投稿日時 - 2005-04-04 01:35:28

お礼

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

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

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

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

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

投稿日時 - 2005-04-04 09:59:09

ANo.2

winsonk.hになってしまいました:-)
winsock.hの間違いです。

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

投稿日時 - 2005-04-04 00:43:08

あなたにオススメの質問