首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >被呼叫/呼叫名称

被呼叫/呼叫名称
EN

Stack Overflow用户
提问于 2021-11-05 09:23:14
回答 1查看 163关注 0票数 0

我正在实现SCP,我不知道如何正确地调用_/called_title。我想在服务器端的连接(客户端发送DICOM映像)时调用_/called_ae_title。我不强制使用called_ae_title(ae.require_called_aet = False),而是在SCP中设置默认AE标题。我想使用被调用的_/called_ae_title作为审计用途。因此,我从pytnetdicom的调试日志中可以看到,这些信息可以在ASSOCIATE中获得。

代码语言:javascript
复制
D: Request Parameters:
D: ======================= INCOMING A-ASSOCIATE-RQ PDU ========================
D: Their Implementation Class UID:      1.2.276.0.7230010.3.0.3.6.1
D: Their Implementation Version Name:   OSIRIX_361
D: Application Context Name:    1.2.840.10008.3.1.1.1
D: Calling Application Name:    NO_CLIENT       
D: Called Application Name:     PYDS            
D: Their Max PDU Receive Size:  16384
D: Presentation Context:

根据这份文件标题

我在服务器端试过这个。

代码语言:javascript
复制
from pynetdicom.pdu import (A_ASSOCIATE_RQ, A_ASSOCIATE_AC)
...
...
pdu = A_ASSOCIATE_RQ()
print(type(pdu.calling_ae_title))
print(pdu.calling_ae_title)

我的输出是在连接期间:

代码语言:javascript
复制
 <class 'bytes'>
b'Default         '

我总是得到“缺省”值,而不是实际值。

我做错什么了?还是一只虫子?当我调用它时,calling_ae_title和called_ae_title都会产生相同的“默认”输出。非常感谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-11-07 21:53:58

当您创建一个新的A_ASSOCIATE_RQ实例时,您将得到它的默认值(即b'Default'),因为它没有在任何关联中使用。

如果您想要关联请求者使用的实际调用AE标题,则可以通过Association.acceptorAssociation.requestor属性获得有关本地和对等方关联协商建议的信息:

代码语言:javascript
复制
from pynetdicom import AE, evt
from pynetdicom.sop_class import VerificationSOPClass

def handle_requests(event):
    primitive = event.assoc.requestor.primitive
    print(type(primitive), primitive.calling_ae_title)

ae = AE()
ae.add_supported_context(VerificationSOPClass)
ae.start_server(('', 11112), evt_handlers=[(evt.EVT_REQUESTED, handle_requests)])

这里的primitive是一个A-关联原语

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69850987

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档