【嵌入式】网络编程_pthread_fork

      最后更新:2022-04-19 17:57:44 手机定位技术交流文章

      网络编程_pthread_form [嵌入]

      一. 维持一. 源代码

      前言

      • TCP(传送控制议定书)

      TCP打算遵守有利于多网络应用的等级协议结构。TCP用于提供初级计算机配对流程之间的可靠通信服务,这些流程与各种互联的计算机通信网络相连。《贸易协定》的前提是,可以在较低层次达成简单协议。提供不可靠的数据报告服务是可能的。 原则上,贸易点应当能够就广泛的通信系统开展工作,从硬线到集体交换或电路交换网络。

      • 嵌套字

      套接字是所有交流的基础它是公路通信的基本操作模块,支持TCP/IP议定书。袜子可被视为东道方之间进程双向沟通的终点。它既是单一东道主内部的编程接口,也是整个网络的编程接口。在通讯领域,有插座。通信领域旨在处理由通用线索提供的抽象想法,通过带子进行通信。袜子往往在同一领域与脚手架分享数据(数据交换可能发生跨域边界) 通信往往与同一领域的脚手架分享数据(数据交换也可能发生跨域边界)。然而,它与某种形式的解释方法有关。此域被使用互联网协议进行相互连接的过程所使用 。

      系统调用
      1.socket

      • 原型:
      参数 解释 用法
      domain 网络应用程序的主机雇用了一个通信财团(AF_UNIX、AF_INET等)。 AF_UNIX只用于单一的Unix系统内的通信,但AF_INET是用于互联网的,因此允许远程主机之间的通信(当我们发现域选项是PF_而不是AF_时,我们都可以使用它,因为Glibc是执行 pu6)。
      type SOCK_STREAM、SOCK_DGRAM以及用于网络应用的其他通信协议 SOCK_STREAM 表示, TCP 协议正被用于提供序列、可靠、双向、连接的位元流。 SOCK_ DGRAM 表示正在使用 UDP 协议, 它只会提供冗长、不可靠、断开的通信 。
      protocol 我们通常必须重新定位这个地方 零,因为我们已经定义了类型。
      • 注: Socket 进行基本的网络连接准备。 它会返回关于成功的文件描述符, 1 关于失败的文件描述符, 以及检查是否错误理解问题的具体细节 。

      2.bind

      • 原型:
      参数 解释
      sockfd Socket 返回的文件描述符
      addrlen 袜子结构的长度
      my_addr 提及 sockaddr 。 它有一个锁定ddr 定义 。
      • 然而,由于系统兼容性, 我们通常不使用这个信头文件, 而不使用另一个结构。 存在 sockaddr_ in 的定义 。
      • 我们主要使用Internet所以
        sin_family一般为AF_INET,
        sin_addr设置为INADDR_ANY它不是能够与任何东道方沟通的唯一机构。
        sin_port这是我们正在监听的港口号。.sin_zero[8]是用来填充的.
      • 绑定本地端口连接到由 Socket 返回的文件描述。 成功以零返回, 失败则以套接字返回 。

      3.listen

      • 原型
      参数 解释
      sockfd 这是一个后脏描述符 绑定。
      backlog 指定请求队列的最大长度。 当有多个客户程序和服务界面时, 请使用此选项作为排长的描述 。

      请记住, 听者函数将绑定文件配置程序转换成监听软件包, 返回到与绑定相同的状态 。
      4.accept

      • 原型
      参数 解释
      sockfd
      addr/addrlen 这是针对客户软件的 指示器只是由服务器发送

      5.connect

      • 原型
      参数 解释
      sockfd Socket 返回文件描述符
      serv_addr 在服务器端端保存连接信息,其中 sin_add is the server's address.
      addrlen Serv_Addr 的长度

      说明:connect客户端使用此函数连接到服务。 成功时返回 。0,sockfd当与服务端连接的文件描述符失败时, 它返回 1 。

      2. 在Ubuntu执行程序。

      • 编译
      • 运行

      在这里插入图片描述
      在这里插入图片描述

      三. 将服务器转换为多线模式 。

      功能

      一. 多用途数据传输,即一个单一服务器与众多客户相对应,同时可以倾听多达10个客户的心声。
      二. 客户向服务器发送连接请求,如果成功,公布连接细节。
      三,一旦客户端向服务器提供数据,数据就打印在服务器上。
      四. 服务器在将未来所有数据转换为大写后返回客户端 。
      五,从服务器上返回的数据由客户打印。

      源源服务器( 保留)

      客户(客户)来源

      在 Ubuntu 构建并运行程序 。

      • 编译
      • 运行

      在这里插入图片描述

      在这里插入图片描述
      在这里插入图片描述
      在这里插入图片描述
      在这里插入图片描述

      4.[选做]提高项

      使用${CROSS_COMPILE}编译各个程序

      必须首先安装交叉编译器,并且必须设置环境变量。

      • 参考

      https://www.cnblogs.com/jackyim/p/3553824.html

      • 检查:终端输入手臂,两开
        在这里插入图片描述
      • 配置环境(临时)
      • 编译

      在开发板内mount nfs,以及运行应用程序;确定活动条件

      主机需要安装nfs

      Ubuntu 主机( 储量)
      1. 创建根目录并共享挂载点 。

      二.s 挂载目录以共享挂载点

      3.导出文件系统

      • /eec/exports文件开放。
      • 添加以下行
      • 保存文件并导出共享
      • 见当前活动的出口及其状况。
      • 在服务器上运行以下命令以强制重读 。/etc/exports文件

      客户端(开发板)

      开发委员会已经建立,但是尚未安装 nfs。

      • 运行开发板
      • 登录(root)
        在这里插入图片描述
      • 查看IP

      开发委员会指定主机 IP 地址默认为 :10.0.2.2

      • 挂载(mount)

      将主机上的/srv/nfs4/www挂载到开发板的/root/mnt/

      • 查看

      在这里插入图片描述
      执行应用程序(开发委员会充当客户,主机充当服务器)。

      在这里插入图片描述

      N.B. 如果您退出应用程序, 您应该先退出客户端, 然后在重新启动时服务器以避免连接失败 。 (有时, 服务器在重新启动前必须等待 30s-5min 。)

      echo sever
      需要: 对源法添加一个响应, 传输返回什么 。

      想法:因为我们以前有几条通讯线路, 这里是 Forserver. c: 发送函数被添加到从缓存区域直接传输数据到客户端而不移动; 客户端添加一个适合的函数, 并显示收到的数据 。

      • 服务端改进

      echo大写
      客户将数据、服务器指纹、数据转换(字符串)到大写,并将数据发回客户、客户指纹数据

      考虑根据回声服务器程序在 Sever 上添加一个数据处理功能 。

      引用

      • https://baike.baidu.com/item/%E5%A5%97%E6%8E%A5%E5%AD%97/9637606
      • https://baike.baidu.com/item/TCP/33012
      • https://blog.csdn.net/com852
      • https://blog.csdn.net/bryanwang_3099/article/details/106358013?spm=1001.2101.3001.6650.9&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-9.pc_relevant_default&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-9.pc_relevant_default&utm_relevant_index=18
      • https://blog.csdn.net/sl_97/article/details/123792844?spm=1001.2014.3001.5501
      • https://forums.100ask.net/

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

          热门文章

          文章分类