虚拟应用平台的开放性—开发工具VA SDK

2024-02-14 06:58

本文主要是介绍虚拟应用平台的开放性—开发工具VA SDK,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

作者:一门
虚拟应用平台的开放性 不同于虚拟机(服务器)、虚拟操作系统、虚拟桌面,“虚拟应用”解决方案面向终端用户,提供应用级云计算服务,能够实现细颗粒度的资源管理和安全性管理,占用资源最少,是目前较为理想的企业/机构信息化平台的私有云解决方案。但是,与其它终端模式的虚拟化方案一样,也存在客户端资源的接口(例如设备驱动)以及功能扩展接口的问题。面临这一类问题,没有通用一次性解决方法,而是要求虚拟化平台具有一定的开放性,提供二次开发接口以及相应的工具(SDK),以便设备生产和应用软件开发、集成厂商开发制作客户端软件(插件)。
SDK软件开发工具包 SDK(Software Development Kit 软件开发工具包),指辅助开发某一类软件的相关文档、范例和工具的集合。它可以简单的为某个程序设计语言提供应用程序接口 API的一些文件,也可能包括能与某种嵌入式系统通讯的复杂的硬件。
VA  SDK通讯原理 “益和 VA虚拟应用管理平台”继发布其WEB二次开发接口后,发布了VA SDK开发工具包。VA SDK二次开发支持服务端分发和加载客户端插件,并在服务端和客户端之间建立通讯通道,实现服务端与客户端的无缝衔接,提高VA应用的可扩展性。
在VA应用服务器运行的应用程序与客户端插件之间的通讯,通过服务端ARH、VA SDK-S,与客户端AR应用执行器、VA SDK-C来共同完成。通讯原理如下图所示:
虚拟应用平台的开放性—开发工具VA SDK - yyimen - yyimen的博客
通过上述方式实现一对一的双向通讯,使会话隔离,保证应用的可靠性和安全性。
虚拟应用平台的开放性—开发工具VA SDK - yyimen - yyimen的博客
VA  SDK编程功能 VA SDK编程依赖于VASDK.dll和VAUtils.dll动态链接库,它为服务端和客户端的开发提供了一组功能支持,目前支持C语言(动态调用),Pascal等可以调用动态链接库的语言。
VAUtils.DLL 导出函数功能
序号
  
函  数
  
功    能
  
1
  GetVAEnv
  获得VA运行环境字符串
  
2
  GetVAEnv2
  获得VA运行环境字符串
  
3
  VACheck
  检测是否在VA环境下运行
  
4
  VACheck2
  检测是否在VA环境下运行
  
5
  GetVABindCode
  此功能供合作版使用
  
6
  GetVABindCode2
  此功能供合作版使用
  
7
  GetSessionID
  获取本次应用的会话ID
  
8
  GetConsoleSessionID
  获取服务器控制台的会话ID
  
9
  IsRunOnConsole
  判断程序是否运行在控制台下
  
10
  VaDPnt
  直接端口打印,主要用于Pos打印机VA会自动映射到客户机的打印机上
  
11
  VaDPntW
  直接端口打印,主要用于Pos打印机VA会自动映射到客户机的打印机上
  
VASDK.DLL 导出函数说明
序号
  
函  数
  
功    能
  
1
  S_Open
  打开SDK服务端
  
2
  C_Open
  打开SDK客户端
  
3
  S_LoadPlugin
  加载SDK客户端插件
  
4
  S_UnloadPlugin
  卸载SDK 客户端插件
  
5
  S_OpenAndLoadPlugin
  打开SDK服务端,并加载SDK客户端插件
  
6
  CloseSDK
  关闭已打开的SDK服务
  
7
  SendData
  向已打开的接收方发送数据
  
8
  SendString
  向已打开的接收方发送字符串数据
  
9
  SendStrList
  向已打开的接收方发送字符串列表数据
  
10
  SendBIN
  向已打开的接收方发送二进制数据
  
11
  SetWaitMode
  设置发送方发送数据后等待返回的模式
  
12
  SendAndWait
  通过通讯通道发送数据并等待接收方响应
  
13
  RegCallBackProc
  注册数据接收方的回调函数
  
14
  GetReceiveDataPackCount
  获取发送方发来数据的包数
  
15
  GetReceiveDataPackSize
  获取发送方发来数据的首包长度
  
16
  GetReceiveDataPack
  获取发送方发来的数据
  
17
  FreeDataPack
  释放发送数据的缓冲区
  
18
  GetReceiveDataPackToBuf
  获取发送方发来的数据
  
19
  FreeBuf
  释放调用GetReceiveDataPackToBuf所申请的缓冲区
  
20
  IsRunOnConsole
  判断程序是否运行在控制台下
  
21
  GetLastError
  获取SDK最后一次出错信息
  

        


        



        




        
  
  



        
          
            
            评论这张
          
        


          
            
               虚拟应用平台的开放性—开发工具VA SDK - yyimen - yyimen的博客
            
            转发至微博
          
        

        
          
            
               虚拟应用平台的开放性—开发工具VA SDK - yyimen - yyimen的博客
            
            转发至微博
          
        

这篇关于虚拟应用平台的开放性—开发工具VA SDK的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

JDK21对虚拟线程的几种用法实践指南

《JDK21对虚拟线程的几种用法实践指南》虚拟线程是Java中的一种轻量级线程,由JVM管理,特别适合于I/O密集型任务,:本文主要介绍JDK21对虚拟线程的几种用法,文中通过代码介绍的非常详细,... 目录一、参考官方文档二、什么是虚拟线程三、几种用法1、Thread.ofVirtual().start(

Java 虚拟线程的创建与使用深度解析

《Java虚拟线程的创建与使用深度解析》虚拟线程是Java19中以预览特性形式引入,Java21起正式发布的轻量级线程,本文给大家介绍Java虚拟线程的创建与使用,感兴趣的朋友一起看看吧... 目录一、虚拟线程简介1.1 什么是虚拟线程?1.2 为什么需要虚拟线程?二、虚拟线程与平台线程对比代码对比示例:三

利用Python操作Word文档页码的实际应用

《利用Python操作Word文档页码的实际应用》在撰写长篇文档时,经常需要将文档分成多个节,每个节都需要单独的页码,下面:本文主要介绍利用Python操作Word文档页码的相关资料,文中通过代码... 目录需求:文档详情:要求:该程序的功能是:总结需求:一次性处理24个文档的页码。文档详情:1、每个

Java中的分布式系统开发基于 Zookeeper 与 Dubbo 的应用案例解析

《Java中的分布式系统开发基于Zookeeper与Dubbo的应用案例解析》本文将通过实际案例,带你走进基于Zookeeper与Dubbo的分布式系统开发,本文通过实例代码给大家介绍的非常详... 目录Java 中的分布式系统开发基于 Zookeeper 与 Dubbo 的应用案例一、分布式系统中的挑战二

Java 缓存框架 Caffeine 应用场景解析

《Java缓存框架Caffeine应用场景解析》文章介绍Caffeine作为高性能Java本地缓存框架,基于W-TinyLFU算法,支持异步加载、灵活过期策略、内存安全机制及统计监控,重点解析其... 目录一、Caffeine 简介1. 框架概述1.1 Caffeine的核心优势二、Caffeine 基础2

使用Node.js和PostgreSQL构建数据库应用

《使用Node.js和PostgreSQL构建数据库应用》PostgreSQL是一个功能强大的开源关系型数据库,而Node.js是构建高效网络应用的理想平台,结合这两个技术,我们可以创建出色的数据驱动... 目录初始化项目与安装依赖建立数据库连接执行CRUD操作查询数据插入数据更新数据删除数据完整示例与最佳

PHP应用中处理限流和API节流的最佳实践

《PHP应用中处理限流和API节流的最佳实践》限流和API节流对于确保Web应用程序的可靠性、安全性和可扩展性至关重要,本文将详细介绍PHP应用中处理限流和API节流的最佳实践,下面就来和小编一起学习... 目录限流的重要性在 php 中实施限流的最佳实践使用集中式存储进行状态管理(如 Redis)采用滑动

深入浅出Spring中的@Autowired自动注入的工作原理及实践应用

《深入浅出Spring中的@Autowired自动注入的工作原理及实践应用》在Spring框架的学习旅程中,@Autowired无疑是一个高频出现却又让初学者头疼的注解,它看似简单,却蕴含着Sprin... 目录深入浅出Spring中的@Autowired:自动注入的奥秘什么是依赖注入?@Autowired

PostgreSQL简介及实战应用

《PostgreSQL简介及实战应用》PostgreSQL是一种功能强大的开源关系型数据库管理系统,以其稳定性、高性能、扩展性和复杂查询能力在众多项目中得到广泛应用,本文将从基础概念讲起,逐步深入到高... 目录前言1. PostgreSQL基础1.1 PostgreSQL简介1.2 基础语法1.3 数据库

Python中的filter() 函数的工作原理及应用技巧

《Python中的filter()函数的工作原理及应用技巧》Python的filter()函数用于筛选序列元素,返回迭代器,适合函数式编程,相比列表推导式,内存更优,尤其适用于大数据集,结合lamb... 目录前言一、基本概念基本语法二、使用方式1. 使用 lambda 函数2. 使用普通函数3. 使用 N