WORD sockVer = MAKEWORD(2, 2);WSAStartup(sockVer, &wsaData);
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....
SOCK_DGRAM -- UDP类型,不保证数据接收的顺序,非可靠连接; SOCK_RAW -- 原始类型,允许对底层协议如IP或ICMP进行直接访问,不太常用。 protocol-- 通常赋值"0",由系统自动选择。 2.2 bind() 原型:int bind(int sockfd, const struct sockaddr* myaddr, socklen_t addrlen) ...
UDP套接字的名字SOCK_DGRAM 特点:不可靠(局网内还是比较可靠的),开销小。 与虚拟电路形成鲜明对比的是数据报类型的套接字,它是一种无连接的套接字。 在通信开始之前并不需要建立连接。此时,在数据传输过程中并无法保证它的顺序性、可靠性或重复性。数据报确实保存了记录边界,这就意味着消息是以整体发送的,而并...
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...
百度试题 结果1 题目socket(AF_INET,SOCK_DGRAM,0);该函数的功能是___。相关知识点: 试题来源: 解析反馈 收藏