ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

卷一 第四章:基本TCP套接字编程

2021-07-23 19:57:34  阅读:156  来源: 互联网

标签:返回 struct int 编程 TCP sockfd 接字


TCP客户端和服务器通讯流程

  1. 创建套接字—socket

int socket(int af, int type, int protocol);

    • AF_UNIX(本机通信)

AF_INET(TCP/IP – IPv4)

AF_INET6(TCP/IP – IPv6)

    • SOCK_STREAM(流格式套接字/面向连接的套接字)

SOCK_DGRAM(数据报套接字/无连接的套接字)

    • protocol 表示传输协议,常用的有 IPPROTO_TCP 和 IPPTOTO_UDP

返回值:如果函数调用成功,会返回一个标识这个套接字的文件描述符,失败的时候返回-1

  1. 连接—connet

int connect(int sockfd, const struct sockaddr *servaddr, int *addrlen);

返回:若成功则返回0,失败则返回-1;

    • sockfd是有socket函数返回的套接字描述符
    • 套接字地址结构
    • 套接字地址结构大小

  1. 绑定—bind

int bind(int sockfd,  const struct sockaddr, socklen_t addrlen);

  1. 监听—listen

int listen(int sockfd, int backlog);

backlog—允许监听排队的个数;

  1. 接受—accept

int accept(int sockfd, struct sockaddr * addr, int * addrlen);

  1. Fork(创建进程)
  2. Exec(调用进程)
  3. close(关闭套接字)
  4. getsockname(获取服务器IP地址和端口号)

getpeername(获取客户端IP地址和端口号)

标签:返回,struct,int,编程,TCP,sockfd,接字
来源: https://blog.csdn.net/zhangp334/article/details/119043203

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有