TCP/IP与UDP编程模型

TCP编程模型
这里写图片描述

UDP编程模型
这里写图片描述

①socket()创建套接字
②bind()绑定本地地址端口
③connect()建立连接
④listen()监听端口
⑤accept()接收连接
⑥recv(),read(),recvfrom()数据接收
send(),write(),sendto()数据发送
close(),shutdown()关闭套接字

int socket(int family,int type,int protocol)
参数:
family 协议族 AF_INET,IPV4。 AF_INET6,IPV6
type: SOCK_STREAM: TCP ……………SOCK_DGRAM: UDP
protocol:0
返回值:非负套接字表示成功,返回值为-1表示出错

int bind(int sockfd,struct sockaddr *myaddr,int addrlen)
参数:sockfd:套接字描述符
my_addr:本地地址
addrlen:地址长度
返回值:成功返回0,失败返回-1

int listen(int sockfd,int backlog)
参数:backlog:请求的最大数,服务器允许连接的客户端
返回值:成功返回0,失败返回1

int accept(int sockfd,struct *sockaddr,int *addrlen)
参数:addr:客户端地址(客户端发来的数据包,包含了客户的IP地址)
addrlen:地址长度
返回值:成功返回接收到的非负的套接字(该套接字不是第一次socket产生的套接字,而是accept三次握手后,系统返回的套接字),失败返回-1

int recv(int sockfd,void *buf,int len,unsigned int flags)
参数:sockfd:套接字(accept产生的套接字)
buf:存放数据的缓冲区
len:数据长度
flags:0
返回值:成功返回收到的字节数大小,出错返回-1

int send(int sockfd,const void *msg,int len,int flags)
参数:sockfd(accept建立的套接字)
msg:要发送的信息
len:数据长度
返回值:成功返回实际发送的字节数,失败返回-1

close(fd)

int connect(int sockfd,struct sockaddr *srv,int addrlen)
参数:sockfd:套接字描述符
srv:服务器地址
addrlen:地址长度
返回值:成功返回0,出错返回-1

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值