📄 p12-16.c
字号:
#include <sys/socket.h>#include <sys/time.h>#include <netinet/in.h>#include <netdb.h>#include <stdio.h>#include "err_exit.h"int main(void){ int sockfd; socklen_t len; struct sockaddr_in addr,raddr; /* 创建套接字 */ sockfd = socket (AF_INET, SOCK_STREAM, 0); if (sockfd < 0) err_exit("socket"); /* 命名该套接字 */ addr.sin_family = AF_INET; addr.sin_port = htons(0); addr.sin_addr.s_addr = htonl(INADDR_ANY); if (bind (sockfd, (struct sockaddr *)&addr, sizeof(addr)) < 0) err_exit("bind"); /* 查看套接字相连的名字和端口号 */ len = sizeof(raddr); if (getsockname(sockfd, (struct sockaddr*)&raddr, &len) < 0) err_exit("getsockname "); printf("bound name = %s, port = %d\n", ntohl(raddr.sin_addr.s_addr), ntohs(raddr.sin_port)); exit(0);}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -