通信

Android 里的各种通信方式(四)

廉价感情. 提交于 2020-04-11 13:30:50
五: 广播 Android 开发中如果需要对两个完全没关系的程序之间进行 通信 就可以使用发送广播与接收广播的机制来实现 ,例如程序A发送了一个广播 程序B接受到 做一些事情 这样就达到了相互的通讯。 public class BroadcastActivity extends Activity { Button mButton0 = null; Button mButton1 = null; @Override protected void onCreate(Bundle savedInstanceState) { setContentView(R.layout.broadcast); mButton0 = (Button)findViewById(R.id.button0); mButton0.setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) { Intent intent = new Intent(MyService.SEND_OK_MESSAGE); intent.putExtra("name", "您发送了OK这条广播"); sendBroadcast(intent); } }); mButton1 = (Button)findViewById(R.id

阿里云专家详解 2020 服务网格发展趋势

≯℡__Kan透↙ 提交于 2020-04-08 10:54:10
作者 | 王夕宁 阿里巴巴高级技术专家 关注“阿里巴巴云原生”公众号,参与文末留言互动,即有机会获得赠书福利! 本文摘自于由阿里云高级技术专家王夕宁撰写的《Istio 服务网格技术解析与实践》一书,文章从基础概念入手,介绍了什么是服务网格及 Istio,针对 2020 服务网格的三大发展趋势,体系化、全方位地介绍了 Istio 服务网格的相关知识。 你只需开心参与公众号文末互动,我们负责买单!技术人必备书籍《Istio 服务网格技术解析与实践》免费领~ 有 外文 指出,2020 年 Service Mesh 技术将有以下三大发展: 快速增长的服务网格需求; Istio 很难被打败,很可能成为服务网格技术的事实标准; 出现更多的服务网格用例,WebAssembly 将带来新的可能。 什么是服务网格 Gartner 2018 关于服务网格技术趋势分析报告,展示了一系列的服务网格技术,划分服务网格技术的依据是基于应用服务代码是否必须对其服务网格感知及其是否锁定,或锁定的程度。 基于编程框架的网格技术可以帮助开发人员构建一个架构体系良好的服务,但这会导致应用代码与框架和运行时环境的紧密耦合。而基于 Sidecar 代理的服务网格技术不会为开发人员设置这些障碍,并且使其管理和维护更加轻松,能够提供更灵活的方法来配置运行时策略。 在微服务环境中,可将单一应用程序分解为独立的多个组件

Binder进程间通信系统第五篇-----Binder进程间通信实例

☆樱花仙子☆ 提交于 2020-04-08 09:21:17
注意1 class IFregService: public IInterface 服务接口是为 class BnFregService: public BnInterface 服务的,如下声明和定义的服务接口,是为FregService服务提供的接口,这是Binder进程间通信的基本要求,Binder进程间通信机制要求提供服务的一方必须提供一个跨进程访问能力的服务接口,以便使用服务的一方可以通过该接口来访问服务。接口名就是 descriptor : " hr.ma.IFregService " 。客户进程可以在 service manager中通过该 名称 获取服务的接口,然后访问服务。 DECLARE_META_INTERFACE(FregService); /* * 0. 使用宏 IMPLEMENT_META_INTERFACE 来实现IFregService类的元接口 * 1. 将 IFregService类的静态成员变量 descriptor 设置为 " hr.ma.IFregService " * 2. 实现了 IFregService类的构造函数和析构函数,是空函数 * 3. 实现了成员函数 getInterfaceDescriptor() ,用来获取一个IFregService类的描述符,即 descriptor * 4. 实现了 asInterface()

K8s系列-Kubeedge实现原理

大城市里の小女人 提交于 2020-04-08 08:55:00
感谢分享原文- http://bjbsair.com/2020-04-03/tech-info/29914.html Kubeedge除了在kubernetes的方面做了各种异步通信通道,保障offline后的业务连续性之外;还定义了一系列的设备抽象,用来管理边缘设备。而且,其v1.0版本正朝着边缘端服务网格,以及函数式计算等方向发展。 官方文档: https://docs.kubeedge.io/en/latest/ 架构 整体架构图比较明了,在不考虑edgesite的情况下,其架构分为了云端和边缘端。其实可以理解为kubernetes的管理侧和kubelet节点侧(对应edge端)。但是请注意,这里的场景是边缘计算,意味着edge端的网络环境难以保障。 云边通信 于是就衍生出了cloud端的cloud Hub与edge端的Edge Hub。这两个模块之间通过websocket或者quic通信,相当于建立了一条底层通信隧道,供k8s和其他应用通信。当然,使用什么协议通信不是重点,重点是如何保障当着之间的链路都无法保障的时候,业务不受到影响,这就是MetaManager的要解决的问题了。 CloudHub 前面提到cloud端的cloudHub就是一个隧道的server端,用于大量的edge端基于websocket或者quic协议连接上来;没错,这货才是正儿八经的二传手

线程之间的通信

独自空忆成欢 提交于 2020-04-07 19:58:29
一、为什么要线程通信? 1. 多个线程并发执行时, 在默认情况下CPU是 随机切换线程 的,当我们需要多个线程来 共同完成 一件任务,    并且我们希望他们 有规律 的执行, 那么多线程之间需要一些 协调通信 ,以此来帮我们达到 多线程共同操作一份数据 。 2.当然如果我们没有使用线程通信来使用多线程共同操作同一份数据的话,虽然可以实现,   但是在很大程度会造成多线程之间对同一共享变量的争夺,那样的话势必为造成很多错误和损失! 3.所以,我们才引出了线程之间的通信, 多线程之间的通信能够避免对同一共享变量的争夺。 二、什么是线程通信?   多个线程在处理 同一个资源 ,并且任务不同时,需要线程通信来帮助解决线程之间对同一个变量的 使用或操作 。   就是 多个线程在操作同一份数据时, 避免对同一共享变量的争夺 。   于是我们引出了 等待唤醒机制 :( wait() 、 notify() )   就是在一个线程进行了规定操作后,就进入等待状态( wait ), 等待其他线程执行完他们的指定代码过后 再将其唤醒( notify ); 1. 多个线程并发执行时, 在默认情况下CPU是 随机切换线程 的,当我们需要多个线程来 共同完成 一件任务,    并且我们希望他们 有规律 的执行, 那么多线程之间需要一些 协调通信 ,以此来帮我们达到 多线程共同操作一份数据 。 2

计算机网络概述

假如想象 提交于 2020-04-07 19:35:25
三种网络:电信网络、有线电视网络和计算机网络。 计算机网络向用户提供的最重要的功能有两个: 连通性和共享。网络是由若干结点和连接这些结点的链路组成的。网络把计算机连接在一起,而因特网则把许多网络连接在一起。 ISP(因特网服务提供商)分为不同的层次:主干ISP、地区ISP和本地ISP。 因特网的组成从工作方式上分为:边缘部分和核心部分。 边缘部分由所有连接在因特网上的主机组成。这些主机又称为端系统。端系统之间的通信方式分为两大类:客户-服务器方式和对等方式。 1.客户-服务器方式 客户和服务器是通信中所涉及的两个应用进程。 2.对等连接方式 指两个主机在通信时并不区分哪一个是服务请求方还是服务提供方。只要两个两个主机都运行了对等连接软件,它们就可以进行平等的、对等连接通信。 核心部分 在网络核心部分起特殊作用的是路由器,它是一种专用计算机。路由器是实现分组交换,其任务是转发收到的分组。分组交换采用的是存储转发技术。 发送的整个数据块称为报文。发送报文前,将较长的报文分成为一个个更小的等长数据段。在每个数据段前面加上一些必要的控制信息组成的首部,就构成一个分组。分组又称为包,分组首部称为“包头”。 路由器暂时存储的是一个个短分组,不是整个的长报文。 计算机网络的定义: 一些互相连接的、自治的计算机的集合。 (一)按网络的作用进行分类: (1)广域网:是因特网的核心部分

数据通信

删除回忆录丶 提交于 2020-04-07 14:42:49
“计算机网络是指将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信线路连接起来,在网络操作系统,网络管理软件及网络通信协议的管理和协调下,实现资源共享和信息传递的计算机系统。” 来源: 51CTO 作者: mb5e65a48c8b8e8 链接: https://blog.51cto.com/14748540/2476532

一计算机概述

廉价感情. 提交于 2020-04-07 13:27:09
(1),基本术语 结点 (node): 网络中的结点可以是计算机,集线器,交换机或路由器等。 链路(link ): 从一个结点到另一个结点的一段物理线路。中间没有任何其他交点。 主机(host): 连接在因特网上的计算机 ISP(Internet Service Provider): 因特网服务提供者(提供商). IXP(Internet eXchange Point): 互联网交换点IXP的主要作用就是允许两个网络直接相连并交换分组,而不需要再通过第三个网络来转发分组。. RFC(Request For Comments) 意思是“请求评议”,包含了关于Internet几乎所有的重要的文字资料。 广域网WAN(Wide Area Network) 任务是通过长距离运送主机发送的数据 城域网MAN(Metropolitan Area Network) 用来讲多个局域网进行互连 局域网LAN(Local Area Network) 学校或企业大多拥有多个互连的局域网 个人区域网PAN(Personal Area Network) 在个人工作的地方把属于个人使用的电子设备用无线技术连接起来的网络 端系统(end system): 处在因特网边缘的部分即是连接在因特网上的所有的主机. 分组(packet ): 因特网中传送的数据单元。由首部header和数据段组成。分组又称为包

第二章、物理层

Deadly 提交于 2020-04-07 10:14:17
第二章、物理层 学习内容来源网络,若有侵权联系:shaoyayu0419@qq.com删除 计算机网络谢希仁第七版网课 2.1 物理层的基本概念 物理层考虑的是怎样才能在连接各种计算机的传输媒体上传输数据比特流,而不是指具体的传输媒体。 物理层的作用是要尽可能地屏蔽掉不同传输媒体和通信手段的差异。 用于物理层的协议也常称为物理层规程 (procedure)。 物理层的主要任务 主要任务:确定与传输媒体的接口的一些特性。 机械特性 :指明接口所用接线器的形状和尺寸、引线数目和排列、固定和锁定装置等。 电气特性:指明在接口电缆的各条线上出现的电压的范围。 功能特性:指明某条线上出现的某一电平的电压表示何种意义。 过程特性 :指明对于不同功能的各种可能事件的出现顺序。 2.2 数据通信的基础知识 2.2.1 数据通信系统的模型 一个数据通信系统包括三大部分:源系统(或发送端、发送方)、传输系统(或传输网络)和目的系统(或接收端、接收方)。 常用术语 数据 (data) —— 运送消息的实体。 信号 (signal) —— 数据的电气的或电磁的表现。 模拟信号 (analogous signal) —— 代表消息的参数的取值是连续的。 数字信号 (digital signal) —— 代表消息的参数的取值是离散的。 码元 (code) —— 在使用时间域(或简称为时域)的波形表示数字信号时

基于P2P技术实现内网到内网UDP穿透--转载

你说的曾经没有我的故事 提交于 2020-04-06 20:19:11
P2P: 只要是数据量很大,而一般利用中转服务器又需要一定规模投入的应用,我们都可以考虑用 P2P 技术。 好处: 1. 降低成本与投入。 2. 提高传输性能。 一般情况下,我们做网络程序,首先都会考虑用 TCP 的方式来实现,用 TCP 的方式主要的好处有: 1. 编写程序简单,大部分是采用 C-S 模型,也就是客户端对服务器。 2.TCP 的特性保证了数据传输的可靠性,只要适当定制好协议,基本不会有网络丢包与边界的问题。 但同时, TCP 也有缺点,就是通信效率较低。 做好 P2P 应用至少需要解决两个问题: 1. 实现内网之间机器的网络通信。 2. 需要 解决 UDP 出现的数据传输不稳定 问题。 内网穿透 假设一台在 NAT211.133.* 后的 192.168.1.77:8000 要向 NAT211.134.* 后的 192.168.1.88:9000 发送数据,假设你向 211.134.* 这个 IP 地址的 9000 端口直接发送数据包,则数据包在到达 NAT211.134.* 之后,会被当做无效非法的数据包被丢弃, NAT 在此时相当于一个防火墙 , 会对没有建立起有效 SESSION 的数据包进行拒绝转递。 当然,你也不能直接用内网地址 192.168.1.88 进行发送数据包,这就好比你在广州要打电话到上海的某个地方,如果你不加区号