[Armadillo:00002] Re: Armadillo-J でのIPアドレス取得について

Joe email@hidden
2004年 5月 14日 (金) 15:09:37 JST


JOE です。

gethostbyname は名前解決のための関数なので、
DHCPの場合は基本的にIPアドレスを取得できないと思います。
(ddnsなら別ですが)

コードが動作したという linux マシンは dhcp で動作しています?


ちなみに、
私はホストのIPアドレスを取得する場合、
SIOCGIFADDRを指定してioctlを呼び出しています。


Yukihisa Hara <email@hidden> wrote:

> 御世話様です。
> BBSでは原@1号として質問させて頂いておりました、川田工業の原と申します。MLには初めての投稿ですが、今後とも宜しく御願い致します。
> さて早速質問で恐縮ですが、下記のコードをArmadillo-Jで実行するとgethostbynameの所で失敗してしまうようです。acに 
> は"aj"と名称を取得できていますし、linuxでは下記コードで問題なく動作しておりました。
> 何か間違っている所はあるのでしょうか?それともArmadillo-Jの制限でしょうか?
> ifconfigで得たテキストから整形してIPアドレスを取り出す方法も検討しておりますが、簡単に実現可能なもののスマートでなく躊躇しております。
> # DHCPなどでふられたアドレスをプログラム中から得る方法が他にもあるのでしょうか..?
> 宜しく御願い致します。
> 
> (抜粋)
> 	int i;
>      char ac[80];
> 	struct hostent *phe;
> 	//------------
>      if (gethostname(ac, sizeof(ac)) == -1) {
> 		LOG(" when getting local host name.");
>          return 1;
>      }
>      LOG("Host name is %s\n",ac);
> 	phe = gethostbyname(ac);
>      if (phe == 0) {
>          LOG("Yow! Bad host lookup."); --->ここでエラー
>          return 1;
>      }
> --
> 以上
> C-----------------------------------------------------
> C  川田工業株式会社 航空・機械事業部ロボティックス部
> C  原 幸久(email@hidden)
> C  〒321-3325 栃木県芳賀郡芳賀町芳賀台122-1
> C    tel 028-677-5622 fax 028-677-5622
> C-----------------------------------------------------
> 
> _______________________________________________
> armadillo mailing list
> email@hidden
> http://lists.atmark-techno.com/mailman/listinfo/armadillo




armadillo メーリングリストの案内