c语言socket 释放,C语言socket编程

2022-09-14 10:27:20 浏览数 (1)

大家好,又见面了,我是你们的朋友全栈君。

8种机械键盘轴体对比

本人程序员,要买一个写代码的键盘,请问红轴和茶轴怎么选?

[code language=”cpp”]struct sockaddr { unsigned short sa_family; char sa_data[14]; };[/code] 这是一个16字节大小的结构(2 14),sa_family可以认为是socket address family的缩写,也可能被简写成AF(Address Family),AF种类有许多,我们使用internet家族AF_INET 另外的14字节是用来描述地址的 当我们指定sa_family=AF_INET之后,sa_data的形式也就被固定了下来:最前端的2字节用于记录16位的端口,紧接着的4字节用于记录32位的IP地址,最后的8字节清空为零。 这就是我们实际在构造sockaddr时候用到的结构sockaddr_in(意指socket address internet): [code language=”cpp”]struct sockaddr_in { unsigned short sin_family; unsigned short sin_port; struct in_addr sin_addr; char sin_zero[8]; };[/code] sin_addr被定义成了一个结构,这个结构实际上就是:

[code language=”cpp” highlight=”3”]struct in_addr { unsigned long s_addr; };[/code]

socket()

创建一个套接口()。

[code language=”cpp”]#include int socket( int af, int type, int protocol);[/code]

af:一个地址描述。目前仅支持AF_INET格式,也就是说ARPA Internet地址格式。

type:指定socket类型。新套接口的类型描述类型,如TCP(SOCK_STREAM)和UDP(SOCK_DGRAM)。常用的socket类型有,SOCK_STREAM、SOCK_DGRAM、SOCK_RAW、SOCK_PACKET、SOCK_SEQPACKET等等。

protocol:顾名思义,就是指定协议。套接口所用的协议。如调用者不想指定,可用0。常用的协议有,IPPROTO_TCP、IPPROTO_UDP、IPPROTO_STCP、IPPROTO_TIPC等,它们分别对应TCP传输协议、UDP传输协议、STCP传输协议、TIPC传输协议。

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/158489.html原文链接:https://javaforall.cn

0 人点赞