【 络编程】第2章(2) 应用程序接口(API)

前面那章介绍了客户-服务器的原理,下面就介绍客户-服务器编程的实现原理,之后要我们自己手动编代码来完成客户-服务器的通信过程

应用程序接口(API)

操作系统定义了应用程序和协议软件(TCP/IP)之间的接口——应用程序接口

我们要做的就是通过程序调用操作系统的应用程序接口,然后通过它而调用协议软件(TCP/IP)的接口来实现 络之间通信,也就是 络编程

应用程序接口要实现的功能:

  • 分配用于通信的本地资源;
  • 指定本地和远程通信端点;
  • (客户端)发起连接;
  • (客户端)发送数据 ;
  • (服务器端)等待连接的到来;
  • 发送或接收数据;
  • 判断数据何时到达;
  • 产生紧急数据;
  • 处理到来的紧急数据;
  • 从容终止连接;
  • 处理来自远程端点的连接终止;
  • 异常终止通信;
  • 处理错误条件或连接异常终止;
  • 连接结束后释放本地资源;

络通信的两种基本方法

设计者发明一种新的系统调用

设计者使用一般的I/O调用访问TCP/IP

套接字API

套接字就是Socket,接收所有需要通信参数后,调用系统调用的API,然后调用协议软件来进行 络通信,它本身封装了很多的方法,能够实现很多的通信中的功能

套接字API的实现提供了套接字系统调用所要使用的符 常量和数据结构声明

创建套接字

retcode =socket( family, type, protocol )

  • 返回值:成功 0,失败 -1 errno 记录错误代码

  • Family:协议族

  • Type:流式套接字TCP或者数据 套接字UDP

  • protocol :具体的协议

连接请求 connect

retcode = connect( socket, addr, addrlen)

  • 返回值:成功 0,失败 -1

  • socket:创建的套接字

  • addr:请求连接的地址

  • addrlen:地址长度

绑定本地地址 bind

recode= bind( socket, localaddr, addrlen )

监听 listen

retcode = listen( socket, queuelen )

服务器使用listen使套接字处于被动状态

如何写得不错就点个赞吧,欢迎来我的个人博客 站??www.liangyuanshao.top

文章知识点与官方知识档案匹配,可进一步学习相关知识云原生入门技能树首页概览8793 人正在系统学习中

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2022年2月8日
下一篇 2022年2月8日

相关推荐