Shammer's Philosophy

My private adversaria

2009-09-01から1ヶ月間の記事一覧

inet_ntopの情報とgetaddrinfo-sample完成版

C

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_Debug

C

getaddrinfo sample_alpha - Shammerismの実行結果を見ていて、ai_addr が 0.0.0.0 になっているのは af_family が 30 の場合のようだ。ai_family を意識してネット検索して、getaddrinfo.cというサンプルを見つけた。自分のサンプルとの大きな違いは、 ai_f…

getaddrinfo sample_alpha

C

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…

getaddrinfo & getnameinfo

C

gethostbyname や、gethostbyname2 の man の内容を確認してみたが、Description の冒頭には以下のように書いてある。 The getaddrinfo(3) and getnameinfo(3) functions are preferred over the gethostbyname(), gethostbyname2(), and gethostbyaddr() fu…

gethostbyname2 sample

C

gethostbyname のサンプルに続いて、gethostbyname2 のサンプルも書いてみた。とりあえず、gethostbyname sample - Shammerismの gethostbyname を gethostbyname2 にしてコンパイルしてみたが、引数違いでエラーとなってしまった。 $ gcc gethostbyname2-c.…

gethostbyname sample

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>…

hostent 内容出力

C

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>…

要素数文字数不特定の文字列配列の扱い

C

hostent 構造体の内容も構造体の中身を埋める方法も、gethostbyaddr man page - Shammerismの内容でわかったので実際に挑戦してみたが、文字列の配列(char ** のデータ、つまり、h_aliases と h_addr_list)の要素数のカウントがうまくできず・・・解決方法…

gethostbyaddr man page

C

man gethostbyaddr で得られた情報の一部(Description)。 DESCRIPTION The getaddrinfo(3) and getnameinfo(3) functions are preferred over the gethostbyname(), gethostbyname2(), and gethostbyaddr() functions. The gethostbyname(), gethostbyname2(…

gethostbyaddr を試してみた。

C

localhost という文字列から、127.0.0.1 という結果を得るにはどうすればよいか、を調べていたが、 最初に見つけたのは、How to use gethostbyaddr() functionというサイト。gethostbyaddr という関数名からは、IP アドレスからホスト名を見つける関数のよう…