揮発性のメモ2

http://d.hatena.ne.jp/iww/

ソケットから相手のIPアドレスを調べる

char peername[256]={};
struct sockaddr_storage addr={};
socklen_t addrlen = sizeof(addr);

getpeername( sd, (struct sockaddr *)&addr, &addrlen);
getnameinfo( (struct sockaddr*)&addr, addrlen, peername, sizeof(peername), NULL, 0, NI_NUMERICHOST );

printf("peername is %s\n",peername);

accept()のときに名前を保存し忘れたとき用
getnameinfo()のエラーはgai_strerror()で取る。面倒くさい。