虚拟应用平台的开放性—开发工具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

相关文章

Python中随机休眠技术原理与应用详解

《Python中随机休眠技术原理与应用详解》在编程中,让程序暂停执行特定时间是常见需求,当需要引入不确定性时,随机休眠就成为关键技巧,下面我们就来看看Python中随机休眠技术的具体实现与应用吧... 目录引言一、实现原理与基础方法1.1 核心函数解析1.2 基础实现模板1.3 整数版实现二、典型应用场景2

Spring Boot3虚拟线程的使用步骤详解

《SpringBoot3虚拟线程的使用步骤详解》虚拟线程是Java19中引入的一个新特性,旨在通过简化线程管理来提升应用程序的并发性能,:本文主要介绍SpringBoot3虚拟线程的使用步骤,... 目录问题根源分析解决方案验证验证实验实验1:未启用keep-alive实验2:启用keep-alive扩展建

Python Dash框架在数据可视化仪表板中的应用与实践记录

《PythonDash框架在数据可视化仪表板中的应用与实践记录》Python的PlotlyDash库提供了一种简便且强大的方式来构建和展示互动式数据仪表板,本篇文章将深入探讨如何使用Dash设计一... 目录python Dash框架在数据可视化仪表板中的应用与实践1. 什么是Plotly Dash?1.1

Android Kotlin 高阶函数详解及其在协程中的应用小结

《AndroidKotlin高阶函数详解及其在协程中的应用小结》高阶函数是Kotlin中的一个重要特性,它能够将函数作为一等公民(First-ClassCitizen),使得代码更加简洁、灵活和可... 目录1. 引言2. 什么是高阶函数?3. 高阶函数的基础用法3.1 传递函数作为参数3.2 Lambda

Java中&和&&以及|和||的区别、应用场景和代码示例

《Java中&和&&以及|和||的区别、应用场景和代码示例》:本文主要介绍Java中的逻辑运算符&、&&、|和||的区别,包括它们在布尔和整数类型上的应用,文中通过代码介绍的非常详细,需要的朋友可... 目录前言1. & 和 &&代码示例2. | 和 ||代码示例3. 为什么要使用 & 和 | 而不是总是使

Python循环缓冲区的应用详解

《Python循环缓冲区的应用详解》循环缓冲区是一个线性缓冲区,逻辑上被视为一个循环的结构,本文主要为大家介绍了Python中循环缓冲区的相关应用,有兴趣的小伙伴可以了解一下... 目录什么是循环缓冲区循环缓冲区的结构python中的循环缓冲区实现运行循环缓冲区循环缓冲区的优势应用案例Python中的实现库

SpringBoot整合MybatisPlus的基本应用指南

《SpringBoot整合MybatisPlus的基本应用指南》MyBatis-Plus,简称MP,是一个MyBatis的增强工具,在MyBatis的基础上只做增强不做改变,下面小编就来和大家介绍一下... 目录一、MyBATisPlus简介二、SpringBoot整合MybatisPlus1、创建数据库和

python中time模块的常用方法及应用详解

《python中time模块的常用方法及应用详解》在Python开发中,时间处理是绕不开的刚需场景,从性能计时到定时任务,从日志记录到数据同步,时间模块始终是开发者最得力的工具之一,本文将通过真实案例... 目录一、时间基石:time.time()典型场景:程序性能分析进阶技巧:结合上下文管理器实现自动计时

Java逻辑运算符之&&、|| 与&、 |的区别及应用

《Java逻辑运算符之&&、||与&、|的区别及应用》:本文主要介绍Java逻辑运算符之&&、||与&、|的区别及应用的相关资料,分别是&&、||与&、|,并探讨了它们在不同应用场景中... 目录前言一、基本概念与运算符介绍二、短路与与非短路与:&& 与 & 的区别1. &&:短路与(AND)2. &:非短

Spring AI集成DeepSeek三步搞定Java智能应用的详细过程

《SpringAI集成DeepSeek三步搞定Java智能应用的详细过程》本文介绍了如何使用SpringAI集成DeepSeek,一个国内顶尖的多模态大模型,SpringAI提供了一套统一的接口,简... 目录DeepSeek 介绍Spring AI 是什么?Spring AI 的主要功能包括1、环境准备2