作者:马青筱BELLAIM_578 | 来源:互联网 | 2023-10-10 19:25
目录说在前面数据类型说明基本说明定义栗子说在前面环境:WSL参考:UNIX网络编程、linuxmanualpage数据类型说明数据类型说明头文件socklen_t套接字地址结构的
说在前面
- 环境: WSL
- 参考: UNIX网络编程、linux manual page
数据类型说明
数据类型 | 说明 | 头文件 |
socklen_t | 套接字地址结构的长度,一般为uint32_t | |
struct sockaddr | 见套接字地址结构 | |
基本说明
accept函数由服务端调用,用于已完成连接队列队首(见listen函数)返回下一个已完成连接。在阻塞前提下,若已完成连接队列为空,进程将投入睡眠。
栗子
- 代码:github
len = sizeof(cliaddr);
if( (connfd &#61; accept(listenfd, (struct sockaddr *) &cliaddr, &len)) < 0) {
}
printf("connection from %s, port %d\n", inet_ntop(AF_INET, &cliaddr.sin_addr, buff, sizeof(buff)), ntohs(cliaddr.sin_port));
inet_ntop函数、ntohs函数
- 环境&#xff1a;同一台主机运行一个服务端以及两个客户端
在本例中&#xff0c;client程序未调用bind函数&#xff0c;将由内核选择源IP地址&#xff08;见bind函数&#xff09;。在./client.out 127.0.0.1时&#xff0c;内核将源IP设置为环回地址&#xff1b;在./client.out 192.168.3.9时&#xff0c;内核将源IP设置为以太网接口IP。