通信接口

API的通讯方式

ぐ巨炮叔叔 提交于 2019-11-27 04:58:48
软件接口是实现一个系统跟另外系统进行信息交互的桥梁,在不同的系统之间,根据系统的关联程度的不同存在紧耦合和松耦合两种:紧耦合要求接口响应反应快,消息不能阻塞;松耦合对响应反应要求比较低。本人主要讨论紧耦合接口通讯实现,在目前应用中, Socket 、中间件、 SOA P 等都用相应的应用,但是应用中发现各通讯方式有自己固有的特征,“适合的才是最好的”,这是真理。   在接口和系统信息交互的过程中,两种模式使用得很普遍:同步调用和异步调用,同步调用要求接口发出请求消息后必须等待服务端系统的应答消息,接口阻塞直至超时;异步调用则发出请求消息后,接口可以从事其它处理,定时轮询服务端应答消息和消息或事件通知。同步方式简单,但是很容易造成接口阻塞,造成消息积压超时。   • 技术实现   • Socket 通讯   Socket 通讯相对来说是很古老的通讯方式,也是最常用的通讯方式。 Socket 通讯有阻塞和非阻塞两种方式。在同步方式,采用阻塞编程比较简单,但是为了防止接口阻塞,我们需要设置 Socket 超时,因此可以使用 Socket 的 SELECT 模型(参考如下示例代码):     在异步方式下,采用非阻塞方式实现比较方便,在非阻塞方式下可使用WSAAsyncSelect模型和 WSAEventSelect 模型: WSAAsyncSelect模型基于消息,

二层交换网络当中的高级内容(可跟做)

梦想的初衷 提交于 2019-11-27 03:27:32
1、MUX VLAN 1.1、为什么会有MUX VLAN?应用场景? 应用场景? 企业外来访客、企业员工都能够访问企业服务器。 企业员工部门内部可以通信,而企业员工部门之间不能通信。 企业外来访客间不能通信、外来访客和企业员工之间不能互访。 为什么需要有MUX VLAN技术 对于企业来说,希望企业内部员工之间可以互相访问,而企业外来访客之间是隔离的,可通过配置每个访客使用不同的VLAN来实现。但如果企业拥有大量的外来访客员工,此时不但需要耗费大量的VLAN ID,还增加了网络维护的难度 总结: MUX VLAN提供的二层流量隔离的机制可以实现企业内部员工之间互相通信,而企业外来访客之间的互访是隔离的 1.2、MUX VLAN的实现原理 MUX VLAN的划分:  主VLAN(Principal VLAN):可以与MUX VLAN内的所有VLAN进行通信。  隔离型从VLAN(Separate VLAN):和其他类型的VLAN完全隔离,Separate VLAN内部也完全隔离。 注意点: 1、 MUX VLAN技术中只能将一个VLAN设置为Separate VLAN,所以可以将外来访客划分到Separate VLAN  互通型从VLAN(Group VLAN):可以和Principal VLAN进行通信,在同一Group VLAN内的用户也可互相通信,但不能和其他Group

RS232、RS485、RS422、串口与握手基础知识详细介绍

心不动则不痛 提交于 2019-11-27 02:33:11
一、RS232基础知识   PC上的通讯接口之一,由电子工业协会(ElectronicIndustriesAssocia TI on,EIA)所制定的异步传输标准接口。通常RS-232接口以9个引脚(DB-9)或是25个引脚(DB-25)的型态出现,一般个人计算机上会有两组RS-232接口,分别称为COM1和COM2。在多数情况下主要使用主通道,对于一般双工通信,仅需几条信号线就可实现,如一条发送线、一条接收线及一条地线。   RS-232-C标准规定的数据传输速率为50、75、100、150、300、600、1200、2400、4800、9600、19200、38400波特。RS-232-C标准规定,驱动器允许有2500pF的电容负载,通信距离将受此电容限制,例如,采用150pF/m的通信电缆时,最大通信距离为15m;若每米电缆的电容量减小,通信距离可以增加。传输距离短的另一原因是RS-232属单端信号传送,存在共地噪声和不能抑制共模干扰等问题,因此一般用于20m以内的通信。具体通讯距离还与通信速率有关,例如,在9600pbs时,普通双绞屏蔽线时,距离可达30-35米。 RS232的特点:   (1)接口的信号电平值较高,易损坏接口电路的芯片,又因为与TTL电平不兼容故需使用电平转换电路方能与TTL电路连接。   (2)传输速率较低,在异步传输时,波特率为20Kbps

ipv6 转

亡梦爱人 提交于 2019-11-27 01:07:48
单播地址 IPv6单播地址与IPv4单播地址一样,都只标识了一个接口。为了适应负载平衡系统, RFC 3513允许多个接口使用同一个地址,只要这些接口作为主机上实现的IPv6的单个接口出现。单播地址包括四个类型:全局单播地址、本地单播地址、兼容性地址、特殊地址。 一、全球单播地址:等同于IPv4中的公网地址,可以在IPv6 Internet上进行全局路由和访问。这种地址类型允许路由前缀的聚合,从而限制了全球路由表项的数量。 二、本地单播地址: 链路本地地址和唯一本地地址都属于本地单播地址,在IPv6中,本地单播地址就是指本地网络使用的单播地址,也就是IPV4地址中 局域网 专用地址。每个接口上至少要有一个链路本地单播地址,另外还可分配任何类型(单播、任播和组播)或范围的IPv6地址。 (1)链路本地地址(FE80::/10):仅用于单个链路(链路层不能跨VLAN),不能在不同子网中路由。结点使用链路本地地址与同一个链路上的相邻结点进行通信。例如,在没有路由器的单链路IPv6网络上,主机使用链路本地地址与该链路上的其他主机进行通信。 (2)唯一本地地址(FC00::/7):唯一本地地址是本地全局的,它应用于本地通信,但不通过Internet路由,将其范围限制为组织的边界。 (3)站点本地地址(FEC0::/10,新标准中已被唯一本地地址代替) 三、兼容性地址

虚拟机调试和监控工具

生来就可爱ヽ(ⅴ<●) 提交于 2019-11-26 20:38:53
JPDA(Java Platform Debugger Architecture):即Java平台调试体系架构。Java虚拟机设计的专门的API接口供调试和监控虚拟机使用 JPDA按照抽象层次,又分为三层,分别是: (1)JVM TI(Java VM Tool Interface):虚拟机对外暴露的接口,包括debug和profile。 (2)JDWP(Java Debug Wire Protocol):调试器和应用之间通信的协议。 (3)JDI(Java Debug Interface):Java库接口,实现了JDWP协议的客户端,调试器可以用来和远程被调试应用通信。 JDK 自带的一些命令行调试工具,如下: jdb 命令行调试工具 jps 列出所有Java进程的PID jstack 列出虚拟机进程的所有线程运行状态 jmap 列出堆内存上的对象状态 jstat 记录虚拟机的运行状态,监控性能 jconsole 虚拟机性能/状态检查可视化工具 来源: https://www.cnblogs.com/mazhimazhi/p/11332857.html

华为交换机Hybrid接口及基础配置

拟墨画扇 提交于 2019-11-26 14:37:31
一、回顾VLAN VLAN基本概念 VLAN即虚拟局域网,是将一个物理的LAN在逻辑上划分成多个广播域(多个VLAN)的通信技术。VLAN内的主机间可以直接通信,而VLAN间不能直接互通,从而将广播报文限制在一个VLAN内。由于VLAN之间的隔离,所以一些类似蠕虫病毒等的攻~击被限制在一个VLAN中,提高了安全性,同时也方便管理人员对网络进行管理。 VLAN隔离广播的方式 物理隔离:通过三层设备实现路由器 逻辑隔离:交换机通过VLAN划分广播域,将接口加入指定VLAN进行隔离 为什么要使用VLAN? 交换机不隔离广播,因此整个交换网络是个广播域,广播域过大会使网络拥塞。为了解决这一个问题,我们用vlan技术,将偌大的广播域隔离成一个个的小的区域,并且不同vlan区域间不能通信。 缺点:vlan技术虽然能隔离广播,但是不同vlan之间不能通信,如果要通信,需要三层设备才能实现 VLAN的划分 Vlan的划分并不是固定的,而是有多种不同的划分方法:基于端口、基于协议、基于IP地址、基于MAC地址。其中最常用的就是基于端口的划分,我们的学习也主要是围绕着基于端口划分。Vlan端口的划分是逻辑上的,与物理位置没有关系,不同地方的网络一样可以划分到同一个vlan中。 VLAN接口的类型和trunk的封装 1)vlan的接口类型 Access:接入链路,一般客户端到交换机使用 Trunk

Android 开发中的架构模式 -- MVC / MVP / MVVM

本秂侑毒 提交于 2019-11-26 11:27:22
【 这是 ZY 第 15 篇原创技术文章 】 预备知识 了解 Android 基本开发 看完本文可以达到什么程度 了解如何分析一个架构模式 掌握 MVC,MVP,MVVM 架构定义和实现 阅读前准备工作 clone CommonTec 项目,其中 architecture 模块是本文架构模式的对应的示例代码 文章概览 一、什么是架构 关于架构的定义,其实在很多书籍和文章中都是不同的,很难做一个统一。这里列举两个定义: 在维基百科里是这样定义的: 软件架构是一个系统的草图。软件架构描述的对象是直接构成系统的抽象组件。各个组件之间的连接则明确和相对细致地描述组件之间的通讯。在实现阶段,这些抽象组件被细化为实际的组件,比如具体某个类或者对象。 在 IEEE 软件工程标准词汇中是这样定义的: 架构是以组件、组件之间的关系、组件与环境之间的关系为内容的某一系统的基本组织结构,以及指导上述内容设计与演化的原理。 关于更多的定义,推荐阅读《软件架构设计:程序员向架构师转型必备》第二章 ... 在看过茫茫多的架构定义以后,我理解的架构是这样的: 为了解决 特定的问题 而提出 按照 特定的原则 将系统整体进行模块/组件/角色的划分 建立模块/组件/角色间的 沟通机制 具体解释一下,首先是要有特定的问题,没有问题空谈架构,仿佛是空中楼阁,没有实用价值,而对应到不同的问题,会有不同的解决方式。

DBus介绍

前提是你 提交于 2019-11-26 05:00:58
一篇关于DBus的入门介绍,澄清了一些D-Bus中容易混淆的概念 意译:freeworkzz 日期:2010-07-21 来源:http://www.freedesktop.org/wiki/IntroductionToDBus 关于本文 本文不是教程,更不是手册。它不会教你如何使用D-Bus,也不会教你如何安装及如何写基于D-BUS的程序。 这里有的,是解释了D-Bus到底是什么,其背后的概念以及如何将这些概念集合在一起,还有一些必须了解的术语。这里没有不必要的技术细节,也并不关心读者所使用的编程语言。初学者可以在阅读其他教程或指南前先参考本文,它将告诉你使用D-Bus可以做什么。 即使读者已经有了一本好的教程,先读一读本文也是有好处的。在D-Bus的世界中,有很多专用术语,它们与通常的概念并不完全一致。这篇文章将从最基础开始解释这些术语,从而避免理解上的偏差。本文也尝试从不同角度来看D-Bus,避免只专注于一种编程语言来阐述时对使用其他语言的读者产生排斥。 D-Bus概述 D-Bus是一种本地进程间通信机制(不同主机间的进程通信支持可能会在将来加入,但这并不是D-Bus最初设计思想)。D-Bus的特点是轻量级、快速,为主流桌面环境提供统一的进程间通信界面。 与其他重量级的进程间通信技术不同,D-Bus并未使用会话进行通信。D-Bus使用了状态以及连接的概念

理解华为交换机VLAN实验

允我心安 提交于 2019-11-26 02:55:59
一、什么是VLAN VLAN(virtual LAN)虚拟局域网:是一组逻辑上的设备和用户,这些设备和用户并不受物理位置的限制,可以根据功能、部门及应用等因素将它们组织起来,同一VLAN设备相互之间的通信就好像它们在同一个物理网段中一样,不同VLAN设备不能直接通信。VLAN工作在OSI参考模型的第2层和第3层,一个VLAN就是一个广播域,VLAN之间的通信是通过第3层的路由器来完成的。与传统的局域网技术相比较,VLAN技术更加灵活,它具有以下优点: 网络设备的移动、添加和修改的管理开销减少;可以控制广播活动;可提高网络的安全性。 (此图选择华为公司PPT) 二、VLAN是如何实现的 VLAN是IEEE组织定义的IEEE802.1Q协议实现的。IEEE802.1Q协议是定义数据帧添加TAG(标签)来实现VLAN技术,下图中有两种数据帧Untagged frame是传统的以太网数据帧,Tagged frame是带标签的数据帧。Tagged frame中TPID(标签协议标示)起到的作用和TYPE字段类似,是指明此数据帧为带vlan标签的数据帧;VLAN ID字段是指明vlan的号码,占12比特,换算成十进制为1-4094。 打标签和去除标签的操作一般是在交换机上完成,和普通的客户端无关(也可以说对客户端是透明的),也有一些服务器操作系统经过配置后可以识别标签。

zynq开发板外设配置

浪子不回头ぞ 提交于 2019-11-25 20:18:49
有幸得到米尔电子zynq系列开发板Z-turn Board试用体验,下面说说我这款zynq系列的Z-TURN板子外设配置。从Z-turn Board原理图上看,目前可以配置的FPGA管脚大概有100多个,其它的管脚全部分配到A9上面,我用ISE14.6配置了几个通信接口,然后生成API接口,目前ARM端在裸机跑程序,后续上操作系统试试网口的通信功能,图中红色的圈即为配置的外设通信口。 来源: https://blog.51cto.com/14441885/2427317