进程间通信——网络通信——UDP

进程间通信(分类):网络通信、无名管道、有名管道、信号、消息队列、共享内存、信号量集

OSI七层模型:(理论模型)

应用层 :  要传输的数据信息,如文件传输,电子邮件等
表示层 :  数据加密,解密操作,压缩,解压缩
会话层 :  建立数据传输通道
传输层 :  传输的方式  UDP  TCP   端口号
网络层 :  实现数据路由    路由器  ip
数据链路层 :  封装成帧,点对点通信(局域网内通信),差错检测   交换机  ARP
物理层 :  定义物理设备标准,比如网线,光纤等传输介质   比特流  bit  0 1

TCP/IP四层模型:(工业生产)

应用程:HTTP, HTTPS(超文本传输协议) (基于TCP)
              FTP : 文件传输协议(基于TCP)
              TFTP:简单文件传输协议(基于UDP)
              MQTT: 消息遥测传输协议(物联网)
              DNS :域名解析服务 

传输层:UDP : 用户数据报协议    面向数据包
              TCP:传输控制协议       面向数据流
网络层:IPv4、IPv6
网络接口层:ARP:地址解析协议

标记主机:
MAC:硬件地址 : 局域网通信
IP:软件地址

端口号:同一主机,区分不同的网络进程
           2字节的无符号整形数据
            0-65535

ARP:地址解析协议
网络层:IP协议:IPv4:32bits
                             IPv6:128bits

点分十进制:192.168.1.148
网络配置:

1.虚拟机——>设置——>网络适配器——>桥接方式

2.编辑——>虚拟网络编辑器——>更改设置——>VMnet0——>桥接模式——>桥接到电脑正在上网的网卡——>应用——>确定

3.修改配置文件: sudo vim /etc/network/interfaces

4.重启网络配置: sudo /etc/init.d/networking restart

5.测试       ifconfig (查看虚拟机的IP地址)     ping www.baidu.com

网络通信模型:B/S : Browser——>Server
                                    1. 通用的客户端

                         C/S : Client-----》Server
                                   1. 专用的客户端
                                   2.  客户端也可保存资源

int socket(int domain, int type, int protocol);
    功能:创建一个通讯的套接字
    参数:
         domain: 网络协议族
              AF_INET:   IPv4
              AF_INET6: IPv6
         type: 表示传输层协议类型
             SOCK_STREAM:   tcp
             SOCK_DGRAM:    udp

        protocol:
                0 : 默认普通正常模式

  成功:文件描述符
  失败:-1

ssize_t sendto(int sockfd, const void *buf, size_t len, int flags,
                        const struct sockaddr *dest_addr, socklen_t addrlen);

   功能:向目标地址发送数据
   参数:
            sockfd:通讯套接字
            buf:要发送的数据内容首地址
            len : 内容字节数
            flags : 0:默认方式发送
            dest_addr:数据接收方的地址
            addrlen:接收方的地址大小

   返回值:
           成功:实际发送的字节数
           失败:-1

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

    功能:绑定套接字和自己的地址信息
    参数:
           sockfd:套接字
           addr : 自己的地址信息
           addrlen:地址的大小
   返回值:
         成功:0
         失败:-1

ssize_t recvfrom(int sockfd, void *buf, size_t len, int flags,struct sockaddr *src_addr, socklen_t *addrlen);
    功能:接收udp发送的数据
    参数:
           sockfd:接收数据的套接字
           buff:保存接收数据的首地址
           len:期待收到的字节数
           flags:0:默认方式接收
           src_addr: 保存发送发地址信息的空间首地址
           addrlen:发送方地址信息大小的首地址

   返回值:
        成功:返回实际收到的字节数
        失败:-1

网络字节序:大端
主机字节序:小端

htons: 将主机字节序(小端)的short类型转换成网络字节序(大端)
htonl: 将主机字节序(小端)的long类型转换成网络字节序(大端)
ntohs:将网络字节序转换成主机字节序

inet_ntoa():将二进程整形ip转换成字符串ip
inet_addr() : 将字符串ip转换成网络字节序的二进制ip

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/66368.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

3272 小蓝的漆房

将devc设置支持编译就能用新的遍历方式 for(auto &x : s)//遍历容器s,变量为x /* 多循环的嵌套: 计数是否需要重置为0; 是否因为ans定义成全局变量导致ans在比较多时候会出现错误*/ /* 1.对于一个标准色,对目标数组遍历, 如…

海外云服务器能用来做什么?

海外云服务器不仅服务种类繁多,而且能满足多行业的需求,方便了越来越多的企业与个人。本文将探讨海外云服务器的核心服务及其适用领域,帮助企业更好地了解这一技术资源。 云存储:安全高效的数据管理 海外云服务器为用户提供了稳定…

导出中心设计

业务背景 应用业务经常需要导出数据,但是并发的导出以及不合理的导出参数常常导致应用服务的内存溢出、其他依赖应用的崩溃、导出失败;因此才有导出中心的设计 设计思想 将导出应用所需的内存转移至导出中心,将导出的条数加以限制&#xf…

智能工厂的设计软件 应用场景的一个例子: 为AI聊天工具添加一个知识系统 之23 “单子”职业能力原型:PIN语言/AI操作系统/robot扮演的actor

本文提要 很重要的一点是,PIN语言的每个 “词项”(最小表达单子) 唯一地提供本项目模板的一个“ 槽”位--占位符变量。这样确定了 本项目的“祖传代码” 的脚本模板了 我前面已经为三套文 给出了 对应的三套模板的名称和用意了--”在本项目的…

Re77 读论文:LoRA: Low-Rank Adaptation of Large Language Models

诸神缄默不语-个人CSDN博文目录 诸神缄默不语的论文阅读笔记和分类 论文全名:LoRA: Low-Rank Adaptation of Large Language Models ArXiv网址:https://arxiv.org/abs/2106.09685 官方GitHub网站(包含在RoBERTa、DeBERTa、GPT-2上用Lora微调…

Vue3苦逼的学习之路

从一名测试转战到全栈是否可以自学做到,很多朋友肯定会说不可能,或就算转了也是个一般水平,我很认同,毕竟没有经过各种项目的摧残,但是还是得踏足一下这个领域。所以今天和大家分享vue3中的相关内容,大佬勿…

C++单例模式跨DLL调用问题梳理

问题案例: 假设有这样一个单例模式的代码 //test.h header class Test { public:static Test &instance() {static Test ins;return ins;}void foo(); };void testFoo();//test.cpp source #include "test.h"void Test::foo() {printf("%p\n&q…

ESP32-S3系统级芯片支持烧录的编程语言

ESP32-S3作为一款功能强大的MCU系统级芯片,支持多种编程语言的烧录和开发。以下是对ESP32-S3支持的主要编程语言的详细介绍: 一、C/C ESP-IDF框架:ESP32-S3支持使用乐鑫官方的ESP-IDF(Espressif IoT Development Framework&…

Redis 数据库源码分析

Redis 数据库源码分析 我们都知道Redis是一个 <key,value> 的键值数据库&#xff0c;其实也就是一个 Map。如果让我来实现这样一个 Map&#xff0c;我肯定是用数组&#xff0c;当一个 key 来的时候&#xff0c;首先进行 hash 运算&#xff0c;接着对数据的 length 取余&…

我的nvim的init.lua配置

nvim的配置文件路径在&#xff5e;/.config/nvim路径下&#xff1a; 一、目录如下&#xff1a; coc-settings.json文件是配置代码片段路径的文件init.lua配置文件的启动脚本lua/config.lua 全局配置文件lua/keymaps.lua 快捷键映射键文件lua/plugins.lua 插件的安装和配置文件…

权限掩码umask

1 、 设置新建文件或目录的默认权限 在 Linux 系统中&#xff0c;当用户创建一个新的文件或目录时&#xff0c;系统都会为新建的文件或目录分配默认的权限&#xff0c;该默认权限与umask 值有关&#xff0c;其具体关系是&#xff1a; 新建文件的默认权限 0666-umask 值 新建…

Kubernetes Gateway API-5-后端协议和网关基础设置标签

1 后端协议 自 v1.2.0 开始支持 并非所有网关API实现都支持自动协议选择。在某些情况下&#xff0c;协议在没有明确选择加入的情况下被禁用。 当 Route 的后端引用Kubernetes Service 时&#xff0c;应用程序开发人员可以使用 ServicePort appProtocol 字段指定协议。 例如…

C++语言的网络编程

C语言的网络编程 引言 随着互联网的迅猛发展&#xff0c;网络编程已成为软件开发的重要组成部分。C作为一种高效的编程语言&#xff0c;因其出色的性能和灵活性&#xff0c;广泛应用于网络编程领域。本文将介绍C网络编程的基本概念、常用的网络库&#xff0c;以及一些具体的应…

考试座位号(PTA)C语言

每个 PAT 考生在参加考试时都会被分配两个座位号&#xff0c;一个是试机座位&#xff0c;一个是考试座位。正常情况下&#xff0c;考生在入场时先得到试机座位号码&#xff0c;入座进入试机状态后&#xff0c;系统会显示该考生的考试座位号码&#xff0c;考试时考生需要换到考试…

宝安湾区之光附近的钓鱼点

工作日的午休我经常在公司附近骑行&#xff0c;有时候也会骑行到宝安的湾区之光。但是我最感兴趣的除了湾区之光摩天轮&#xff0c;还有雷打不动的快乐钓鱼佬。 上图红框区域的河岸每天都会出现零零散散的快乐钓鱼佬&#xff0c;他们好像都有自己的钓鱼窝点。我发现来这里钓鱼也…

GNU链接器简介-3

GNU链接器简介-3 1 SECTIONS Command1.1 Output Section Description2.2 Output Section Name1.3 Output Section Address1.4 Input Section Description1.4.1 Input Section Basics1.4.2 Input Section Wildcard Patterns1.4.3 Input Section for Common Symbols1.4.4 Input S…

【练习】PAT 乙 1022 D进制的A+B

题目 输入两个非负10进制整数A和B(<2^30-1)&#xff0c;输出AB的D (1 < D < 10)进制数。 输入格式 输入在一行中依次给出3个整数A、B和D。 输出格式 输出AB的D进制数。 输入样例 123 456 8 输出样例 1103 来源&#xff1a;PAT 乙 1022 D进制的AB ——————————…

音视频-----RTSP协议 音视频编解码

流媒体协议详解&#xff1a;RTSP、RTP、RTCP、SIP、SDP、RTMP、WebRTC、WebSocket-CSDN博客 上文讲解比较清楚 多媒体编解码基础知识 一文详解WebRTC、RTSP、RTMP、SRT-腾讯云开发者社区-腾讯云 流媒体协议简介 &#xff08;整理&总结&#xff09;-CSDN博客 RTP :(Real-…

实时数仓与离线数仓的全面对比

在大数据和数据仓库的领域&#xff0c;实时数仓和离线数仓是两种常见的架构。它们分别适用于不同的业务场景&#xff0c;具有不同的技术特点、实现方式和使用场景。 下面将从底层原理、架构、技术实现、数据处理方式等多个方面对这两者进行详细对比。 1. 基本定义 实时数仓&…

家教老师预约平台小程序系统开发方案

家教老师预约平台小程序系统将连接学生/家长与家教老师&#xff0c;提供一站式的家教服务预约体验。 一、用户需求分析1、家教老师&#xff1a;希望获得更多的学生资源&#xff0c;通过平台展示自己的教学特长和经验&#xff0c;管理个人日程&#xff0c;接收并确认预约请求&a…