共享内存、网络

2024-08-22 04:20
文章标签 网络 共享内存

本文主要是介绍共享内存、网络,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

  1. 共享内存:

  2. 1、是一块内核预留的空间
  3. 2、最高效的通信方式(避免了用户空间到内核空间的数据拷贝)
  4. 网络

  5. 一、IP地址

是网络中主机的唯一标识,它由网络地址和主机号组成。网络地址是子网的唯一标识,类似于电话号码的区号;主机号是子网内每台主机的编号。在现在(IPv4)的网络中,IP地址是32bit的二进制数,采用大端字节序:

  1. 表示方法: 将32位二进制码划分为4个字节,每个字节转化成相应的十进制数,字节之间用“.”来分隔,这种表示方法,称之为“点分十进制表示法”。

    类型

    范围

    用途

    A类

    0.x.x.x---127.x.x.x.x

    10.x.x.x

    私网(局域网)地址

    127.x.x.x

    环回网络地址

    其他

    大型主干网地址

    B类

    128.x.x.x - 191.x.x.x

    172.16.x.x - 172.31.x.x

    私网(局域网)地址

    169.254.x.x

    表示没有找到DHCP服务器

    其他

    主干(城市)网地址

    C类

    192.x.x.x - 223.x.x.x

    192.168.x.x

    私网(局域网)地址

    D类

    组播地址

    E类

    保留

  2. 2.子网掩码            3.网关
  3. 二、网络编程

  4. Open System Interconnect (OSI网络模型)
  5. osi参考模型 
         
  6. 1. 物理层 
           规定了物理层面的电气特性及相关机械特性 。( 物理层面数据的传输 ---  一位一位二进制数据   //比特流 )
    2. 数据链路层 
           规定了 传输数据的格式  //帧数据 
           //控制传输过程可靠
  7.  3. 网络层 (网际层)
  8.        用于解决 网络 与 网络之间 数据传输  //数据包 
      4. 传输层 
           传输控制层,控制传输过程,保证数据完整和可靠 
      5. 会话层  
           处理一次会话过程 
        6. 表示层 
           规定了 传输数据的格式 和 方式  //加密 
        7. 应用层 
           就是直接获取要收发的数据    
  9.    实际应用到的是 tcp/ip 模型 
  10. 三、协议——每个层次中,都有自己的一套规范

  11. 1、TCP

  12. 即传输控制协议:是一种面向连接的传输层协议,它能提供高可靠性通信(即数

  13. 据无误、数据无丢失、数据无失序、数据无重复到达的通信)

    * 适用情况:
    1. 适合于对传输质量要求较高,以及传输大量数据
    的通信。
    2. 在需要可靠数据传输的场合,通常使用TCP协议
    3. QQ等即时通讯软件的用户登录账户管理相关
    的功能通常采用TCP协议

    tcp协议特点:
    1. 面向连接   //类似打电话通话之前 ,必须先打通 
    2. 可靠传输   //保证数据准确可靠 (tcp协议机制 里面的功能 )
    3. 面向字节流程

  14. 2、UDP

  15. (User Datagram Protocol)用户数据报协议,是不可靠的无连接的协议。
    在数据发送前,因为不需要进行连接,所以可以进行高效率的数据传输。

    * 适用情况:
    1. 发送小尺寸数据(如对DNS服务器进行IP地址查询时)
    2. 在接收到数据,给出应答较困难的网络中使用UDP。(如:无
    线网络)
    3. 适合于广播/组播式通信中。
    4. MSN/QQ/Skype等即时通讯软件的点对点文本通讯以及音视频通
    讯通常采用UDP协议
    5. 流媒体、VOD、VoIP、IPTV等网络多媒体服务中通常采用UDP
    方式进行实时数据传输


    UDP特点: 
    1.不可靠 
    2.无连接 
    3.数据报  

  16. 3.编程模型 
     int socket(int domain, int type, int protocol);

  17. 功能:程序向内核提出创建一个基于内存的套接字描述符     

  18.  ssize_t sendto(    int sockfd,  //用于通信的socket对应的fd
                      const void *buf,  //表示要发送的数据所在的一块空间 
                           size_t len,  //表示发送的字节数 
                            int flags,  //0  --- 默认  
     const struct sockaddr *dest_addr,  //表示 要发送到的 地址 (网络地址 ip+端口号 ) 
                    socklen_t addrlen   //表示dest_addr 这个参数的长度 
                    );
  19. struct sockaddr_in {
                   sa_family_t    sin_family; 
                   in_port_t      sin_port;    (网络转主机:host to net) 
                   struct in_addr sin_addr; };

                

这篇关于共享内存、网络的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1095220

相关文章

Linux 网络编程 --- 应用层

一、自定义协议和序列化反序列化 代码: 序列化反序列化实现网络版本计算器 二、HTTP协议 1、谈两个简单的预备知识 https://www.baidu.com/ --- 域名 --- 域名解析 --- IP地址 http的端口号为80端口,https的端口号为443 url为统一资源定位符。CSDNhttps://mp.csdn.net/mp_blog/creation/editor

ASIO网络调试助手之一:简介

多年前,写过几篇《Boost.Asio C++网络编程》的学习文章,一直没机会实践。最近项目中用到了Asio,于是抽空写了个网络调试助手。 开发环境: Win10 Qt5.12.6 + Asio(standalone) + spdlog 支持协议: UDP + TCP Client + TCP Server 独立的Asio(http://www.think-async.com)只包含了头文件,不依

poj 3181 网络流,建图。

题意: 农夫约翰为他的牛准备了F种食物和D种饮料。 每头牛都有各自喜欢的食物和饮料,而每种食物和饮料都只能分配给一头牛。 问最多能有多少头牛可以同时得到喜欢的食物和饮料。 解析: 由于要同时得到喜欢的食物和饮料,所以网络流建图的时候要把牛拆点了。 如下建图: s -> 食物 -> 牛1 -> 牛2 -> 饮料 -> t 所以分配一下点: s  =  0, 牛1= 1~

poj 3068 有流量限制的最小费用网络流

题意: m条有向边连接了n个仓库,每条边都有一定费用。 将两种危险品从0运到n-1,除了起点和终点外,危险品不能放在一起,也不能走相同的路径。 求最小的费用是多少。 解析: 抽象出一个源点s一个汇点t,源点与0相连,费用为0,容量为2。 汇点与n - 1相连,费用为0,容量为2。 每条边之间也相连,费用为每条边的费用,容量为1。 建图完毕之后,求一条流量为2的最小费用流就行了

poj 2112 网络流+二分

题意: k台挤奶机,c头牛,每台挤奶机可以挤m头牛。 现在给出每只牛到挤奶机的距离矩阵,求最小化牛的最大路程。 解析: 最大值最小化,最小值最大化,用二分来做。 先求出两点之间的最短距离。 然后二分匹配牛到挤奶机的最大路程,匹配中的判断是在这个最大路程下,是否牛的数量达到c只。 如何求牛的数量呢,用网络流来做。 从源点到牛引一条容量为1的边,然后挤奶机到汇点引一条容量为m的边

配置InfiniBand (IB) 和 RDMA over Converged Ethernet (RoCE) 网络

配置InfiniBand (IB) 和 RDMA over Converged Ethernet (RoCE) 网络 服务器端配置 在服务器端,你需要确保安装了必要的驱动程序和软件包,并且正确配置了网络接口。 安装 OFED 首先,安装 Open Fabrics Enterprise Distribution (OFED),它包含了 InfiniBand 所需的驱动程序和库。 sudo

【机器学习】高斯网络的基本概念和应用领域

引言 高斯网络(Gaussian Network)通常指的是一个概率图模型,其中所有的随机变量(或节点)都遵循高斯分布 文章目录 引言一、高斯网络(Gaussian Network)1.1 高斯过程(Gaussian Process)1.2 高斯混合模型(Gaussian Mixture Model)1.3 应用1.4 总结 二、高斯网络的应用2.1 机器学习2.2 统计学2.3

网络学习-eNSP配置NAT

NAT实现内网和外网互通 #给路由器接口设置IP地址模拟实验环境<Huawei>system-viewEnter system view, return user view with Ctrl+Z.[Huawei]undo info-center enableInfo: Information center is disabled.[Huawei]interface gigabit

Golang 网络爬虫框架gocolly/colly(五)

gcocolly+goquery可以非常好地抓取HTML页面中的数据,但碰到页面是由Javascript动态生成时,用goquery就显得捉襟见肘了。解决方法有很多种: 一,最笨拙但有效的方法是字符串处理,go语言string底层对应字节数组,复制任何长度的字符串的开销都很低廉,搜索性能比较高; 二,利用正则表达式,要提取的数据往往有明显的特征,所以正则表达式写起来比较简单,不必非常严谨; 三,使

Golang网络爬虫框架gocolly/colly(四)

爬虫靠演技,表演得越像浏览器,抓取数据越容易,这是我多年爬虫经验的感悟。回顾下个人的爬虫经历,共分三个阶段:第一阶段,09年左右开始接触爬虫,那时由于项目需要,要访问各大国际社交网站,Facebook,myspace,filcker,youtube等等,国际上叫得上名字的社交网站都爬过,大部分网站提供restful api,有些功能没有api,就只能用http抓包工具分析协议,自己爬;国内的优酷、