ざっとこんな感じらしい。
...
struct addrinfo hints;
struct addrinfo *result;
...
memset(&hints, 0, sizeof(struct addrinfo));
hints.ai_family = AF_INET;
hints.ai_socktype = SOCK_STREAM;
hints.ai_flags = AI_PASSIVE;
hints.ai_protocol = 0;
hints.ai_canonname = NULL;
hints.ai_addr = NULL;
hints.ai_next = NULL;
if (getaddrinfo(NULL, av[1], &hints, &result) != 0) {
exit(-1);
}
if ((waitsock = socket(result->ai_family, result->ai_socktype,result->ai_protocol)) < 0) {
exit(-1);
}
if (bind(waitsock, result->ai_addr, result->ai_addrlen) < 0) {
exit(-1);
}
...
ホントは result は複数見つかるかも知れないので、ちゃんと調べた方がいいらしい。
今まで参考にしてた本は平成8年のものだったから、そりゃまあ、ね。
...
struct addrinfo hints;
struct addrinfo *result;
...
memset(&hints, 0, sizeof(struct addrinfo));
hints.ai_family = AF_INET;
hints.ai_socktype = SOCK_STREAM;
hints.ai_flags = AI_PASSIVE;
hints.ai_protocol = 0;
hints.ai_canonname = NULL;
hints.ai_addr = NULL;
hints.ai_next = NULL;
if (getaddrinfo(NULL, av[1], &hints, &result) != 0) {
exit(-1);
}
if ((waitsock = socket(result->ai_family, result->ai_socktype,result->ai_protocol)) < 0) {
exit(-1);
}
if (bind(waitsock, result->ai_addr, result->ai_addrlen) < 0) {
exit(-1);
}
...
ホントは result は複数見つかるかも知れないので、ちゃんと調べた方がいいらしい。
今まで参考にしてた本は平成8年のものだったから、そりゃまあ、ね。