高水平pac接口
pac框架是一个可扩展的编程框架创建DICOM消息传递应用程序(服务器/客户端)。插件体系结构允许开发人员轻松地添加额外的支持,而不必更改核心服务器实现。除了DICOM消息处理,开发人员可以添加支持服务日志,AE标题管理、消息通知等。
可用教程,请参考教程。
此外,LEADTOOLS医疗WCF通道工作列表服务包含的方法操纵实体在数据库模式工作列表。使用提供的pac框架服务器插件(Leadtools.AddIn.Broker.Host)主机LEADTOOLS形态工作列表WCF服务。
以下部分描述如何使用pac框架:
组件
启动过程
安装和管理服务器
服务器管理界面
1。组件
pac框架包括以下组件:
- 服务经理——服务管理器是一个示例应用程序,它使用LEADTOOLS Dicom服务管理SDK Dicom服务管理。
- 插件-经理——DICOM服务作为经理的外接程序。当服务启动时,它加载所有可用的插件。一旦插件加载服务器提取接口,对其操作很重要。
- 安全通信- pac框架为开发人员提供了一个接口来提供安全通信。如果服务器被标记为安全的实现必须提供这个接口提供的安全参数。
2。启动过程
- 服务开始:这是实现DICOM服务器的Windows服务。
- 许可检查:检查用户是否提供了正确的MedicalServer解锁代码。如果没有提供正确的代码服务将不会运行。
- 外接程序进行初始化:服务中所有dll加载服务器工作目录。服务器检查所有的插件接口。如果找到一个有效的接口,与服务器插件注册服务。
- 启动服务器:如果由于某种原因服务器无法启动(重复的港口、IP用时,等等),该服务将不会运行。
注册基本服务:一些服务所需的服务功能正确。这个过程提供了以下服务:默认实现
- IDicomRequest:为插件提供了一个默认实现DICOM请求。这个实现应该很少被覆盖
- IAETitle:为管理提供了一个默认实现DICOM AETitles。
开始管理界面:这个接口允许应用程序与运行服务。通过命名管道的接口实现。
此时服务器启动并准备开始接收DICOM连接。服务器需要表示上下文信息和注册插件并验证它与关联请求从客户端发送。当一个有效的DICOM消息发送到服务器时,它检查是否特定的表示上下文对注册插件。如果上下文对注册,调用插件来处理DICOM消息。服务器处理客户端不持续到插件已经完成处理或超时已达到插件处理。
3所示。安装和管理服务器pac框架包含了一个示例服务管理应用程序,允许您安装和管理DICOM服务器服务。服务管理应用程序使用DICOM服务管理SDK pac框架来管理服务。下面的图显示了LEADTOOLS DICOM服务经理:
列出的图标下的插件安装插件选项显示所有可用的选项。双击图标选项来显示设置对话框。
单击添加DICOM服务器服务按钮(
)打开
添加新服务器对话框。的
添加新服务器对话框中设置选项卡如下图所示:
添加新服务器对话框有以下字段:
Settings选项卡
- AE标题——服务器AE标题
- 实现类UID——服务器实现类
- 描述——服务器描述
- 实现版本名称—服务器实现版本名称
- IP地址——服务器IP地址
- 临时目录——临时文件的位置。DICOM使用临时文件的过程中创建一个数据集。如果没有指定该参数,并建置临时文件保存在Windows临时文件位置。
- 港口——服务器端口监听。
- 最大的客户最大数量的客户,可以连接到服务器。
- 服务器安全——检查这一个安全的服务器。
- 允许匿名——检查允许匿名用户访问。如果你将执行C-MOVE-RQ客户那里,AE信息必须被指定。
- 使服务日志启用服务日志记录(提供了一个默认实现Windows事件日志记录)。
- 多个连接允许同一AE标题连接多次相同的IP地址。
的添加新服务器对话框标签如下图所示:
的添加新服务器对话框高级选项卡有以下字段:
高级选项卡
- 服务显示名称——名称显示在Windows服务管理器应用程序。如果没有指定名称的显示名称默认为:Dicom服务器(Ae标题)。
- 马克斯Pdu长度——数据传输的最大长度。如果没有指定值的最大长度默认为16384字节。
- 超时
- 客户端——在断开的时间如果不从客户端接收的数据。
- 重新连接——时间服务器重新连接客户端和执行一些操作。
- 外接程序——时间的插件处理DICOM请求。
- 套接字选项
- 没有延迟纳格尔-禁用算法结合包。这个套接字选项包括1.1向后兼容Windows socket。
- 接收缓冲区——指定总socket缓冲区空间留给接收。如果没有指定缓冲区大小默认为29696字节。
- 发送缓冲区——指定总socket缓冲区空间预留给发送。如果没有指定缓冲区大小,默认为29696
bytes.Start
模式-设置windows服务器的启动模式。
- 启动模式
- 自动——服务是由服务控制管理器在系统启动时自动启动。
- 手册——服务是手动启动。
- 禁用——服务不能启动。
- 复制数据集图像在消息通知-禁用该选项只会复制图像相关标签的数据集在一个消息通知。启用这个选项可以严重影响服务器的性能。
在服务创建一个新目录将在应用程序文件夹中创建基于AE标题。例如,如果您的应用程序目录是c: \ \ Dicom服务器,您创建了一个服务与AE标题“商店”;新目录将c: \ \商店\ Dicom服务器。这个目录包含所有的新服务器的设置。以下目录:
- Settings.xml——拥有所有的设置服务。
- 同一个目录——为服务器创建的所有插件需要放在这个目录中。为了让每个服务器可用的插件,它将不得不被放置在每个服务器的插件目录中。
-
编辑DICOM服务器服务。
-
删除DICOM服务器服务。此操作将删除服务窗口。然而,服务目录将依然存在。
-
启动当前选择的服务。
-
暂停当前选择的服务。暂停服务将无法接受传入的连接。然而,现有的连接将继续正常运转。
-
停止当前选择的服务。
-
启动所有可用的DICOM服务器服务。
-
停止所有可用的DICOM服务器服务。
AE标题标签这个选项卡允许您添加/编辑AE标题信息。服务器注册IAeTitle实现将在服务经理负责处理请求。以下操作可与AE标题标签。
客户端选项卡使用此选项卡来查看客户信息联系起来。以下信息可以为每个连接的客户端:
- IP地址的IP地址连接客户端。
- AE标题- AE标题连接的客户端。
- 连接时间,客户端连接的时间。
- 最后的动作,最后由客户机执行操作。
以下操作可用于客户端:
4。服务器管理界面每个服务器实现一个管理界面,允许应用程序执行操作。使用接口添加AE标题和检索客户信息。
使用管理界面实现命名管道。
命名管道是一个名字,单向或双向管道管之间的通信服务器和一个或多个管客户。命名管道的所有实例共享相同的管的名字,但有自己的缓冲和处理每个实例,并提供一个单独的客户机/服务器通信的渠道。管道实例的使用使多个客户同时使用相同的命名管道。
的名称创建管道的AE标题服务器中创建DICOM服务器服务。创建服务器服务使用双管的消息和通知。pac框架提供了一个ServiceMessage类,封装所需的细节从DICOM服务器发送消息和接收消息服务。以下消息/通知服务器支持的服务:
ServiceMessage类
- 属性
- 这适用于消息的消息。见下文的描述信息。
- 此消息服务——服务的名称。
- 成功——真的意味着消息是一个成功,否则假。这通常是由服务的消息。
- 期间发生的错误,错误消息的处理信息。
- 数据的额外的数据发送的消息。所有项目分配给数据属性必须是可序列化的。
消息
- GetAeTitles——获得服务器上的所有AE标题的列表。
- 消息信息消息= MessageNames.GetAeTitles
- 响应信息消息= MessageNames.GetAeTitlesData[0] = List
- AddAeTitle——一个AE标题添加到服务器。
- 消息信息消息= MessageNames。AddAeTitleData[0] = AeInfo
- 响应信息消息= MessageNames。AddAeTitleData[0] = AeInfo
- UpdateAeTitle——更新现有AE标题。
- 消息信息消息= MessageNames。UpdateAeTitleData[0] = Old AE title Data[1] = AeInfo
- 响应信息Messages.MessageNames。UpdateAeTitleData[0] = Old AE title Data[1] = AeInfo
- RemoveAeTitle——删除一个AE标题。
- 消息信息消息= MessageNames。RemoveAeTitleData[0] = AE title
- 响应信息Messages.MessageNames。UpdateAeTitleData[0] = AE title
- DisconnectClient——客户端从服务器断开。
- 消息信息消息= MessageNames。DisconnectClientData[0] = ClientInfo
通知
- ClientConnect,当客户端连接到服务器。
- 通知信息消息= MessageNames。ClientConnectData[0] = ClientInfo
- ClientAssociated——后收到客户相关。
- 通知信息消息= MessageNames。ClientAssociatedData[0] = ClientInfo
- ClientDisconnected——收到客户端断开连接之后。
- 通知信息消息= MessageNames。客户端Disconnect Data[0] = ClientInfo
- ClientAction——后收到客户已经收到了Dicom消息。将显示执行最后一个操作的名称。
- 通知信息消息= MessageNames。ClientActionData[0] = Action Data[1] = Ae Title
编程与pac的客户端框架
Dicom插件
Dicom并
Dicom服务器
相关的话题