2009-09-01から1ヶ月間の記事一覧
getaddrinfo sample_Debug - Shammerismの内容を受けて、inet_ntopを調べてみた。といっても、man inet_ntop の情報を見ただけだが。 const char * inet_ntop(int af, const void * restrict src, char * restrict dst, socklen_t size); ... The function i…
getaddrinfo sample_alpha - Shammerismの実行結果を見ていて、ai_addr が 0.0.0.0 になっているのは af_family が 30 の場合のようだ。ai_family を意識してネット検索して、getaddrinfo.cというサンプルを見つけた。自分のサンプルとの大きな違いは、 ai_f…
getaddrinfo の man の内容を見てみた。 DESCRIPTION The getaddrinfo() function is used to get a list of IP addresses and port numbers for host hostname and service servname. It is a replacement for and provides more flexibility than the geth…
JavaでSingletonなどを実装するときに、インスタンスフィールドが 複数スレッドからアクセスされないようにするためのテクニックとして、 ダブルチェックという手法がよく使われる。こんな感じ。 public final class SingletonService { private static fina…
gethostbyname や、gethostbyname2 の man の内容を確認してみたが、Description の冒頭には以下のように書いてある。 The getaddrinfo(3) and getnameinfo(3) functions are preferred over the gethostbyname(), gethostbyname2(), and gethostbyaddr() fu…
gethostbyname のサンプルに続いて、gethostbyname2 のサンプルも書いてみた。とりあえず、gethostbyname sample - Shammerismの gethostbyname を gethostbyname2 にしてコンパイルしてみたが、引数違いでエラーとなってしまった。 $ gcc gethostbyname2-c.…
gethostbyname のサンプルだが、hostent 内容出力 - Shammerismの実装をちょっと変更するだけでできた。以下の様な感じ。 #include <arpa/inet.h> #include <netinet/in.h> #include <stdio.h> #include <netdb.h> #include <sys/time.h> #include <stdlib.h> int main(int argc, char *args[]){ if( argc == 2 ){ char *hoststri</stdlib.h></sys/time.h></netdb.h></stdio.h></netinet/in.h></arpa/inet.h>…
gethostbyaddr man page - Shammerismと要素数文字数不特定の文字列配列の扱い - Shammerismの情報が揃ったので、hostent 構造体の内容を出力するプログラムを書けるはず、ということで書いて実行してみました。 #include <arpa/inet.h> #include <netinet/in.h> #include <stdio.h> #include <netdb.h> #i</netdb.h></stdio.h></netinet/in.h></arpa/inet.h>…
hostent 構造体の内容も構造体の中身を埋める方法も、gethostbyaddr man page - Shammerismの内容でわかったので実際に挑戦してみたが、文字列の配列(char ** のデータ、つまり、h_aliases と h_addr_list)の要素数のカウントがうまくできず・・・解決方法…
man gethostbyaddr で得られた情報の一部(Description)。 DESCRIPTION The getaddrinfo(3) and getnameinfo(3) functions are preferred over the gethostbyname(), gethostbyname2(), and gethostbyaddr() functions. The gethostbyname(), gethostbyname2(…
localhost という文字列から、127.0.0.1 という結果を得るにはどうすればよいか、を調べていたが、 最初に見つけたのは、How to use gethostbyaddr() functionというサイト。gethostbyaddr という関数名からは、IP アドレスからホスト名を見つける関数のよう…