5.3. bind()- 我在哪個 port?
#include <sys/types.h>
#include <sys/socket.h>
int bind(int sockfd, struct sockaddr *my_addr, int addrlen);struct addrinfo hints, *res;
int sockfd;
// 首先,用 getaddrinfo() 載入位址結構:
memset(&hints, 0, sizeof hints);
hints.ai_family = AF_UNSPEC; // use IPv4 or IPv6, whichever
hints.ai_socktype = SOCK_STREAM;
hints.ai_flags = AI_PASSIVE; // fill in my IP for me
getaddrinfo(NULL, "3490", &hints, &res);
// 建立一個 socket:
sockfd = socket(res->ai_family, res->ai_socktype, res->ai_protocol);
// 將 socket bind 到我們傳遞給 getaddrinfo() 的 port:
bind(sockfd, res->ai_addr, res->ai_addrlen);Last updated