TCP/IP协议族通信的socket介绍及编程

      最后更新:2022-03-25 11:22:46 手机定位技术交流文章

      一、概念介绍

      TCP/IP(转让控制/互联网议定书),通常称为转让控制议定书/互联网议定书,是为广域网制定的一套协议。
      UDP(用户数据协议、用户数据报告协议)是TCP对应协议,是TCP/IP社区的一部分。

      另一方面,Socket是连接TCP/IP社区的中间软件的抽象层,是一组接口。
      服务器end 创建一个新套接字 。然后它就被绑在港口(bind)上。听端口是一个闪亮的光亮。接受区块是一个呼叫 。等待客户端连接。现阶段,如果有客户 初始化插座,之后,连接到服务器上。如果连接成功,然后在客户端和服务器之间建立连接。客户要求提供数据。服务器终端接收和处理请求。然后向客户发送答复数据。客户端读取数据,最后关闭连接,一次交互结束。

      二、进程间通信

      网络内各进程之间的通信必须回答的第一个问题是,“它是如何是唯一确定一个进程的手段?”

      TCP/IP社区协助我们解决这一问题。在网络一级,“ip 地址”只能识别网络的主机。另一方面,传输层的“协议+端口”在主机中可单独识别应用程序(程序)。这是第一次我们见到 世界上的孔雀, 所以我们用这种方式使用三合一的组合(pip addression) 。协议,**我们可以确定网络的过程。在网络上,可利用流程通信与其他流程进行接触。

      三. 套接盘功能

      Socket () 的 1. 1 函数

      Socket () 生成一个套接字描述符, 仅识别套接字 。

      2. 方法约束()

      绑定 () 方法将地址家庭指定为 Socket 的具体地址。 例如, AF_ INET6 是 Socket IPv4 或 Ipv6 地址和端口号的混合。

      启动前, 服务器通常会调用绑定() 。该网站与一个众所周知的地址(例如IP地址+港口号)相关联。用于提供服务,客户无需提供它才能连接到服务器。相反,当运行连接 () 时, 系统会为您指定一个端口号码和您自己的 IP 地址 。

      [注] 当地址绑定 () 被绑定到套接字套时, 主机位字节序列将被更改为网络字节顺序 。
      主机字节顺序分为两部分:大端(放置高位的低位地址端)和小端(存储高位的高位地址端)保存byte顺序分为两部分:大端(放置高位的低位地址端)和小端(存储高位的高位地址端)。
      网络字节:以下列顺序传送32位元,共4位元: 0-7比特, 0-7比特, 0-7比特, 0-7比特, 0-7比特, 0-7比特, 0-7比特, 0-7比特, 0-7比特, 0-7比特, 0-7比特, 0-7比特, 0-7比特, 0-7比特,第二个是8 -15比特。然后是16 -23比特终于有24 -31比特了这种传输模式被称为一个巨大的字节顺序。由于TCP/IP初始部分的所有二进制整数必须按此顺序进行,因此,它被称为网络字节序列。

      3. Listen () 是一个函数 。

      在调用套接字 () 、 捆绑 () 和连接 () 后, 服务器将调用 倾听 () 来收听套接字, 如果客户端在此点调用连接 (), 服务器将接收连接请求 。

      4. 连接() 是一个函数 。

      接受 () 5 个功能的 5 个功能

      当 TCP 服务器结束调用套接字 () 、 绑定 () 和听 () 时, 指定的套接字地址会被调用 。
      在调用 Socket () 和 Connect () 功能后, TCP 客户端向 TCP 服务器发出连接请求 。
      TCP 服务器监测请求时, 执行接受( ) 功能以接收请求并确定连接 。

      如果 accpet 成功, 返回结果将是一个全新的内核生成描述, 表示与返回客户端的 TCP 连接 。
      对于服务器程序接收的每个客户连接,内核生成一个连接的插座配置,服务器完成对客户的服务后,相关连接的插座配置关闭。

      第6个,读为()和写()函数

      服务器已经连接到客户端。 网络 I/ O 可用于读写, 即不同的网络活动之间的通信。 网络 I/ O 分为以下几类:

      7, 方法关闭 ()

      读写完成后关闭相关插座描述 。

      [注]关闭动作只是更改相关套接字描述的引用数,这导致 TCP 客户端仅在引用数为零时才向服务器发送连接终止请求。

      四. Socket 3个TCP握手和4个TCP波波器

      1、三次握手

      在这里插入图片描述
      即交换三个分组:
      (1) 客户端使用连接()方法向服务器提交SYNJ连接请求。
      (2) 针对客户的SYNK,服务器使用ACK J+1 - 接受() 功能对SYNJ进行验证,并返回连接()功能。
      (3) 客户端再次发送服务器确认 ACK K+1 - 接受 () 功能 。

      2、四次挥手

      在这里插入图片描述
      (1) 当TCP发送FIN M时,客户的申请程序最初要求关闭关闭连接。
      (2) 收到FIN M后,服务终端进行被动停机,以确认FIN,其收据也作为档案的结尾传送到申请过程,因为收到FIN表明,申请过程将不再收到有关连接的更多数据。
      (3) 在规定的时间之后,使档案内存电话关闭的申请程序,导致其TCP签发了FIN N;
      (4) 收到FIN的发件人(客户)TCP确认。

      五. 插座编程测试

      1、服务端

      2、客户端

      3、运行结果

      在这里插入图片描述

      参考
      索克特的假设

      本文由 在线网速测试 整理编辑,转载请注明出处,原文链接:https://www.wangsu123.cn/news/20825.html

          热门文章

          文章分类