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()で取る。面倒くさい。