<< 点击显示目录 >> 主页 PVI通信 > PVI帮助信息 > PVI base system > PVICOM interface > Client/Server communication > 通信实例 |
要设置一个PVICOM通信实例,应用程序必须首先调用PVICOM函数 PviInitialize 或PviXInitialize。
这也将确定 通信类型 (本地或远程)和生命迹象监测的超时(通信超时)。设置还启动了PVI管理器(服务器)的通信实例(客户端)注册。
如果建立了一个通信实例,除了定义 用户信息外,PVICOM功能可以向PVI管理器发送请求 。在PVI管理器发回适当的响应后,与请求一起定义的用户信息被执行(请求和响应)。使用这种方法,应用程序能够设置PVI链接和处理对象,访问日期、条件或属性,并释放PVI对象。在设置链接对象时,也可以定义一个用户信息来发出 事件信号 。
如果不再需要一个PVICOM通信实例,那么必须用 PviDeinitialize 或PviXDeinitialize PVICOM函数将其释放出来 。这也是为PVI管理器(服务器)取消通信实例(客户端)的注册。
创建的每个PVI链接对象都被分配给某个通信实例(客户端)。如果一个通信实例从PVI管理器中取消注册,那么所有分配的 链接对象 以及临时 进程对象 都会自动释放。
每个PVICOM通信连接都有生命迹象监控。它通过循环数据交换的方式检查连接的功能。如果在定义的通信超时内不能进行通信(例如,网络连接中断),那么 PVI管理器就 会自动取消通信实例的注册。当PVI管理器结束时也会发生同样的事情。然而,通信实例继续存在于应用程序(客户端)的一侧。它不断尝试(循环地)向PVI管理器(服务器)注册。如果注册成功(例如,网络连接可以重新建立,或者PVI管理器重新启动),那么客户/服务器通信可以立即重新开始。然而,需要注意的是,当通信实例被取消注册时,所有被分配的链接对象,以及PVI管理器中的所有临时进程对象都被释放。因此,在通信连接重新建立后,这些对象必须由PVICOM应用程序再次设置。PVICOM接口使用 全局事件 (参见 PviSetGlobEventMsg 或PviXSetGlobEventMsg函数)来向应用程序发出关于通信连接状态的信号。