TCP 通信中的一些函数

基于 C 的

1.socket 函数
  int socket(int domain,int type,int protocol)
  描述:用于创建通信的套接字,并返回该套接字的文件描述符。
  domain:网络程序所在主机采用的通信协议。(AF_UNIX、AF_INET)
  type:指定套接字类型。
  protocol:指定套接字所使用的通信协议。
2.bind 函数
  int bind(int sockfd,const struct sockaddr *my_addr,socklen_t addrlen)
  描述:用于将套接字和指定端口进行连接。成功返回 0 ,失败返回 -1,并设置 errno 变量。
  sockfd:调用 socket 函数后返回的文件描述符
  addrlen:sockaddr 结构的长度
  my_addr:执行 sockaddr 结构体的指针。
3.listen 函数
  int listen(int sockfd, int backlog)
  描述:实现服务器等待客户端请求的功能。成功返回 0 ,失败返回 -1,并设置 erron 变量。
  sockfd:经过 bind 操作的文件描述符。
  backlog:设置请求队列的最大长度。
4.accept 函数
  int accept(int sockfd,struct sockaddr *addr,socklent_t *addrlen)
  描述:该函数处于监听状态服务器,在获取客户端连接请求后,会将其放置在等待队列中,当系统空闲时,接收客户机的连接请求。
       没有客户机请求时,阻塞等待。函数调用成功后,返回最后的服务器端文件描述符,失败返回 -1 ,设置 errno 变量。
  sockfd:经过 listen 后的文件描述符。
  addr:指向客户端结构体 sockaddr 的指针。
  addelen:addr 指向的内存空间长度。
5.connect 函数
  int connect(int sockfd,const struct sockaddr *serv_addr,socklent_t addrlen)
  描述:用于客户端向服务器发送连接请求。
  sockfd:客户端 socket 返回的文件描述符。
  serv_addr:存储服务器端的连接信息。
  addrlen:serv_addr的长度。
6.write 函数
  ssize_t write(int fd,const void*buf,size_t nbytes)
  描述:用于服务器和客户端建立连接口,将 buf 中的 nbytes 字节的内容写入文件描述符。
       成功后返回写入字节数,失败返回 -1 ,设置 errno变量。
  fd:socket 返回的文件描述符。
  buf:只想要进行传输内容的指针。
  nbytes:要传输内容的大小。
7.read 函数
  ssize_t read(int fd,void * buf,size_t nbytes)
  描述:从文件描述符 fd 中读取内容。成功返回读取的字节数,失败返回 -1 ,设置 errno 变量。
8.send 函数
  ssize_t send(int s,const void*buf,size_t len,int flags)
  描述:将信息发送到指定套接字的文件描述符中。成功返回实际发送的字节数,失败返回 -1 .并设置 errno 变量。
  s:要发送信息的文件描述符。
  buf:指向要发送内容的指针。
  len:要发送数据的长度。
  flags:为 0 时,与 write 功能相同。
9.recv 函数
  ssize_t recv(int s,const void*buf,size_t len,int flags)
  描述:从指定的套接字中获取信息。成功返回实际发送的字节数,失败返回 -1 .并设置 errno 变量。
  s:要读取内容的套接字文件描述符。
  buf:指向要保存数据缓冲区的指针。
  len:该缓存的最大长度。
  flags:和 send 函数一致。
  • 2
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值