套接字
2019-11-18 09:18:05来源:博客园 阅读 ()
套接字
一、定义
int socket(int af,int type,int protocol);
解析:af:地址家族,一般使用AF_INET,代表的是IPv4
type:套接字的数据处理类型,主要使用两种,SOCK_DGRAM和SOCK_STREAM,分别是UDP和TCP。
protocol:根据第一参数和第二个参数确定,确定支持哪种协议,一般设置为0。
二、关闭
int close(int d);
一般关闭使用close函数,关闭指定ID的套接字。
int shutdown(int socket,int direction);
解析:socket:套接字ID,
direction:可以设置为0,1,2,分别对应着SHUT_RD,SHUT_WR,SHUT_RDWR。
三、有关套接字的结构体
struct sockaddr{
u_short sa_family; //Internet的地址家族
char sa_data[14];
}
解析:sockaddr:由两个字节的地址家族和包含IP地址和端口号的14个字节的地址构成。
struct in_addr{
u_long s_addr;
}
struct sockaddr_in{
short sin_family;
u_short sin_port;
struct in_addr sin_addr;
char sin_zero[8];
}
解析:sin_family:作为地址家族,相当于socket函数中个的AF_INET,
sin_port:16比特的端口号,
sin_addr:32比特的IP地址
sin_zero:为了与struct sockaddr 长度保持一致,设置的填充变量。
四、connect
int connect(int sockfd,const struct sockaddr* server_addr,socklen_t addrlen);
解析:sockfd:创建的套接字ID
server_addr:前面所述的sockaddr结构,指定数据发送的目的地,也就是服务器的地址。connect是主动连接的一方调用的,被动的一方调用的是listen和accept。
addrlen:server_addr结构体的长度。
原文链接:https://www.cnblogs.com/socks/p/11882991.html
如有疑问请与原作者联系
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- C++ 自动转换和强制类型转换(用户自定义类类型) 2020-06-10
- C++ 类 2020-06-02
- 二叉搜索树_BST 2020-05-30
- C++ 单定义规则 2020-05-10
- C++ 函数模板 2020-04-24
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash