TCP/UDP编程 & socket常用接口说明

函数原型 参数说明 返回值说明 功能
int socket(int domain,int type,int protocol)

domain:确定通讯特性,包括地址格式,常用枚举如下。
AF_INET:ipv4因特网域
AF_INET6:ipv6因特网域
AF_UNIX:UNIT域
AF_UPSPEC:未指定

type:套接字类型,进一步确定通讯特征,常用枚举如下:
SOCK_DGRAM:固定长度的,无连接的,不可靠的报文传递。
SOCK_RAM:IP协议的数据报接口
SOCK_SEQPACKET:固定长度的,有序的,可靠的,面向连接的报文传递。
SOCK_STREAM:有序的,可靠的,双向的,面向连接的字节流

protocol:此参数通常是0,表示为给定的域选择默认的协议
 

成功:套接口描述字。
失败:返回-1,且应用程序可通过errno获取相应的错误码。

根据参数指定的地址簇、数据类型和协议分配一个套接口的描述字及其所用的资源。


套接字是通讯端点的抽象,套接字描述符在unix系统中被当做是一种文件描述符。

int bind(int sockfd,const struct sockaddr *addr,socklen_t len)
 
sockfd:套接字描述符
addr:包含地址的结构体指针
len:结构体长度
成功:返回0
失败:返回-1,且应用程序可通过errno获取相应的错误码。
将套接字和特定的IP地址以及端口绑定起来
int connect(int sockfd,const struct sockaddr *addr,socklen_t len) sockfd:套接字描述符
addr:包含地址和端口号的结构体指针
len:结构体长度
成功:返回0
失败:返回-1,且应用程序可通过errno获取相应的错误码。
客户端和服务器之间建立连接
int listen(int sockfd,int backlog) sockfd:套接字描述符
backlog:请求队列的最大长度。当套接字正在处理客户端的请求时,如果有新的请求进来,套接字是没法处理的,只能把它放进缓冲区,待当前请求处理完毕后,再从缓冲区中读出来处理,如果不断有新的请求进来,他们就要在先后顺序在缓冲区排队,知道缓冲区满,这个缓冲区就叫做请求队列。
成功:返回0
失败:返回-1,且应用程序可通过errno获取相应的错误码。
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值