一、TCP服务器调用顺序:

  调用socket函数创建套接字;声明并初始化地址信息结构体变量;调用bind函数向套接字分配地址;调用listen函数进入等待连接请求状态,只有调用了listen函数后客户端才能调用connet函数,调用listen函数时,若请求队列为空,listen函数不会返回。

#include <sys/socket.h>

// 成功返回0,失败返回-1
int listen(int sock, int backlog);
sock : 希望进入等待连接请求状态的套接字文件描述符
backlog : 请求等待队列的长度

  调用listen函数以后,若有连接请求,则应调用accept函数按序受理。

#include <sys/socket.h>

// 成功返回创建的套接字文件描述符,失败返回-1
int accept(int sock, struct sockaddr * addr, socklen_t * addrlen);
sock : 服务器套接字的文件描述符
addr : 保存发起连接请求的客户端地址信息的变量地址值
addrlen : 保存参数addr结构体的长度

二、TCP客户端调用顺序:

#include <sys/socket.h>

int sonnect(int sock, struct sockaddr * aservaddr, socklen_t addrlen);
sock : 客户端套接字文件描述符
servaddr : 服务器端地址
addrlen : 服务器端地址长度

  客户端的IP地址和端口在调用connect函数的时候自动分配,无需调用标记的bind函数进行分配。

三、TCP服务器端和客户端函数调用关系:

最新文章

  1. Java中的ReentrantLock和synchronized两种锁定机制的对比
  2. getTickCount()函数 VS GetTickCount()函数
  3. SSD固态硬盘使用注意事项
  4. 巧妙的Jq仿QQ游戏导航界面学习
  5. [ios2]如何让IOS应用从容地崩溃 【转】
  6. Oracle的坑,你是否踩过?----安装篇
  7. [Ting&#39;s笔记Day8]活用套件carrierwave gem:(3)Deploy图片上传功能到Heroku网站
  8. 获取MessageBox按钮本地字符串(OK、Cancel、Yes、No等)
  9. SQL Server下ADO.NET 怎么获取数据库SQL语句INSERT,UPDATE,DELETE了多少行数据
  10. 关于https中的算法
  11. vmware 安装 Mac OS X 10.9 Mavericks
  12. Android 实现界面(Activity)的跳转
  13. 四种DCOM错误的区别,0x80080005 0x800706be 0x80010105 0x
  14. io饥饿
  15. 开启一个项目如何上传到git
  16. 这些年、我收集的JQuery代码 (转)
  17. iOS仿支付宝首页效果
  18. orcale错题分析
  19. 关于小程序 input 组件内容显示不全(显示的长度不满 input 宽度)问题
  20. UITabBarController ---- 标签视图控制器

热门文章

  1. Bugku-CTF分析篇-weblogic(黑客攻击了Weblogic应用,请分析攻击过程,找出Weblogic的主机名。)
  2. 《深入理解Java虚拟机》读书笔记八
  3. Dictionary-Guided Editing Networks for Paraphrase Generation解读
  4. 【C语言】写一个函数,并调用该函数求两个整数的最大公约数和最小公倍数
  5. HGsoft-downloader
  6. aarch64环境下,搭建并配置服务器tomcat:
  7. 安装SQL Server 2014(Windows Server 2016)
  8. Excel数据可视化方法
  9. 分布式事务 --- CAP 理论
  10. utf-8无bom格式编码