软件接口

网络编程—SOCKET开发

倖福魔咒の 提交于 2019-11-27 10:33:18
一、计算机与网络基础知识   1.1、计算机基础知识     应用软件对硬件的操作必须调用操作系统的接口,由操作系统操控硬件     客户端软件想要基于网络发送一条消息给服务端软件的流程:       1、客户端软件产生数据,存放于客户端软件的内存中,然后调用接口将自己内存中的数据发送或拷贝给操作系统内存。       2、操作系统收到数据后,按照客户端软件指定的规则(协议),调用网卡发送数据。       3、网络传输数据。       4、服务端软件调用系统接口,给操作系统发送将数据从操作系统内存拷贝到自己内存中的指令。       5、服务端操作系统收到 4 的指令后,使用与客户端相同的规则(协议),从网卡接收到数据,拷贝给服务端软件。   1.2、什么是网络     网络 = 物理链接介质 + 互联网协议     互联网协议分为 OSI 七层或 TCP/IP 五层 协议      二、TCP / IP 各层详解   2.1、物理层     功能:基于电器特性发送高低电压(电信号),高电压对应数字 1,低电压对应数字 0。   2.2、数据链路层     功能:单纯的电信号 0 和 1 没有任何意义,因此定义了电信号的分组方式,即以太网协议。     2.1.1、以太网协议( ethernet )       1、规定一组电信号构成一个数据包,叫做 ‘帧’。每一帧包含 ‘报头

OPC协议和TCP/IP协议的区别和联系是什么

此生再无相见时 提交于 2019-11-27 10:10:57
  OPC(OLE for Process Control)技术是指为了给工业控制系统应用程序之间的通信建立一个接口标准,在工业控制设备与控制软件之间建立统一的数据存取规范。它给工业控制领域提供了一种标准数据访问机制,将硬件与应用软件有效地分离开来,是一套与厂商无关的软件数据交换标准接口和规程,主要解决过程控制系统与其数据源的数据交换问题,可以在各个应用之间提供透明的数据访问。 来源: https://www.cnblogs.com/cxyloveccy/p/11358262.html

API的通讯方式

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

阿里软件接口开发一

余生长醉 提交于 2019-11-26 11:52:58
首先必须在阿里软件中注册,然后获得相应的app_id,后进行测试 测试代码如下: protected void Page_Load( object sender, EventArgs e) { HttpRequest request = HttpContext.Current.Request; // 在软件应用中心跳转到ISV应用时的URL参数中取得,user_id、app_instance_id和token string aepUserId = request.Params[ " user_id " ]; string aepInstanceId = request.Params[ " app_instance_id " ]; string appId = request.Params[ " app_id " ]; // 软件注册时获得 string token = request.Params[ " token " ]; // 每次点击生成不一样的token,并只有10秒钟有效 string code = " 58b43970b12711ddb3e6cfd602199686 " ; // 软件注册时获得 System.DateTime timestamp = System.DateTime.Now; // 时间获得当前系统时间 // sip_sign签名字段的生成,将CERT