domain:协议域又称协议家族,协议族决定了socket的地址类型,我们使用ipv4进行通信,使用AF_INET type:套接字类别,有流式套接字和数据报套接字,upd使用的是SOCK_DGRAM protocol:协议指定与套接字一起使用的特定协议。默认使用0即可。 返回值: 成功则返回socket文件描述符,错误返回-1. 为什么返回文件描述符? Linux中...
(1)建立Socket socketfd=socket(AF_INET,SOCK_STREAM,0); AF_INET表示的是针对Internet的通信协议,允许在远程主机之间通信;SOCK_STREAM表明使用的是TCP协议,这样会提供按顺序的、可靠的、双向的、面向连接的比特流;0表示成功时返回文件描述符,失败时返回-1,这样通过errno即可知道出错的详细情况。 (2)绑定和监听 b...
int sockfd = -1; char c = 'A'; // 取第一个参数的第一个字符 if (argc > 1) { c = argv[1][0]; } // 创建数据报套接字 sockfd = socket(AF_INET, SOCK_DGRAM, 0); // 设置服务器IP、端口 server_addr.sin_family = AF_INET; server_addr.sin_addr.s_addr = inet_addr("127.0....
(又名AF_LOCAL,在POSIX1.g标准中指定),它代表地址家族(addressfamily):UNIX。其他比较旧的系统可能会将地址家族表示成域(domain)或协议家族(protocolfamily),并使用其缩写PF而非AF。类似地,AF_LOCAL(在2000~2001年标准化)将代替AF_UNIX 面向网络的 家族名:AF_INET 或者地址家族:因特网。另一个地址家族AF_INET...
fd = socket(PF_INET, SOCK_DGRAM, 0); dnc_socket = socket(AF_INET, SOCK_STREAM, 0); pupdate_info->update_socket = socket(PF_PACKET, SOCK_RAW, htons(0x8505) 二、connect函数 1、头文件: #include <sys/types.h> /* See NOTES */ ...
(1) int socket(AF_INET, SOCK_DGRAM, 0); 创建udp socket,返回套接字描述符,UDP协议建立套接字的方式同TCP方式一样,使用socket()函数,只不过协议的类型使用SOCK_DGRAM,而不是SOCK_STREAM。 (2) int sendto(int sockfd, const void *data, int data_len, unsigned int flags, struct sockaddr *remaddr...
协议族决定了socket的地址类型,在通信中必须采用对应的地址,如AF_INET决定了要用ipv4地址(32位的)与端口号(16位的)的组合、AF_UNIX决定了要用一个绝对路径名作为地址。type:指定socket类型。常用的socket类型有,SOCK_STREAM、SOCK_DGRAM、SOCK_RAW、SOCK_PACKET、SOCK_SEQPACKET等等(socket的类型有哪些?)。protocol...
AF_INET6: IPV6 AF_UNIX AF_LOCAL:本地套接字使用 type:协议类型 SOCK_STREAM 流式, 默认使用的协议是TCP协议 SOCK_DGRAM 报式, 默认使用的是UDP协议 protocal: 一般填0, 表示使用对应类型的默认协议. 返回值: 成功: 返回一个大于0的文件描述符 ...
百度试题 结果1 题目socket(AF_INET,SOCK_DGRAM,0);该函数的功能是___。相关知识点: 试题来源: 解析反馈 收藏
正如上面所说bind()函数把一个地址族中的特定地址赋给socket。例如对应AF_INET、AF_INET6就是把一个ipv4或ipv6地址和端口号组合赋给socket。 int bind(int sockfd, const struct sockaddr *addr, socklen_t addrlen); 1. 函数的三个参数分别为: