You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

pynetdicom SCP如何正确获取A-ASSOCIATE-RQ中calling/called_ae_title

问题原因

你手动实例化了一个全新的A_ASSOCIATE_RQ对象,该对象的属性均为默认初始化值,无法获取到客户端发送的真实请求数据,你需要使用pynetdicom框架实际接收到的关联请求PDU实例。

正确实现方式

通过框架提供的关联接收事件回调获取真实参数即可,示例代码如下:

from pynetdicom import AE, evt

# 关联请求接收回调
def handle_associate_request(event):
    # 从事件关联对象中获取客户端发送的原始请求参数
    calling_ae_title = event.assoc.requestor.calling_ae_title.decode().strip()
    called_ae_title = event.assoc.requestor.called_ae_title.decode().strip()
    
    # 此处可添加审计逻辑
    print(f"Calling AE Title: {calling_ae_title}")
    print(f"Called AE Title: {called_ae_title}")
    
    # 返回True允许关联建立,返回False则拒绝关联
    return True

# 你的原有SCP初始化逻辑
ae = AE()
# 添加支持的Presentation Context(此处按你原有逻辑实现即可)
# ae.add_supported_context(...)

# 绑定事件回调
event_handlers = [
    (evt.EVT_ASSOCIATE_RECEIVED, handle_associate_request),
    # 其他业务事件回调可在此继续添加
]

# 启动SCP服务,参数按你原有配置调整即可
ae.start_server(
    ("0.0.0.0", 11112),
    handlers=event_handlers,
    ae_title="PYDS",
    require_called_aet=False
)

补充说明

如果需要在后续业务处理回调(如C-STORE、C-FIND等请求的处理函数)中获取这两个参数,也可以直接通过对应事件的event.assoc.requestor属性获取,和关联阶段拿到的数值完全一致。

内容的提问来源于stack exchange,提问作者peep

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 02:06:02