dicom网络通讯入门(3)
2015-07-30 11:10
856 查看
转自:/article/6019823.html
接下来可以进行消息传递了 ,也就是dimse ,再来复习下 什么是dimse 。n-set n-create c-echo 这些都是dimse 他们都是属于一种结构的pdu 那就是tf-pdu(传输数据和命令的都称之为tf-pdu 或者transfer pdu ,协商连接的都称之为associcate pdu) 。dimse 由 许多tag组成,就像文件解析那篇博文一样。
tf-pdu数据结构分析如下:
View Code
看看代码里面特定的地方 是不是跟我上面描述的一样?就这样so easy 。看到没 其实我这些都是在dicom文档里翻的 就这样而已没什么神奇的 相信你也能。再来复习下dicom标准跟网络通讯相关的几个章节 :
DICOM Part 4: Service Class Specifications ,服务类规范
DICOM Part 7: Message Exchange 消息交换
DICOM Part 8: Network Communication Support for Message Exchange 网络通讯对消息交换的支持
按照他们的套路来 就水到渠成 。
这是我的测试结果 不用怀疑哥的水平 哥是拿到医院去测试过的:
接下来可以进行消息传递了 ,也就是dimse ,再来复习下 什么是dimse 。n-set n-create c-echo 这些都是dimse 他们都是属于一种结构的pdu 那就是tf-pdu(传输数据和命令的都称之为tf-pdu 或者transfer pdu ,协商连接的都称之为associcate pdu) 。dimse 由 许多tag组成,就像文件解析那篇博文一样。
tf-pdu数据结构分析如下:
//组织Verification_CECHORSP响应原语 //rq端无data ,rsp端无data public void Verification_CECHORQ() { PDVset rq = new PDVset(); rq.pduType = 0x04; rq.contextID = pstContextId; rq.msgControlHeader = 0x03; rq.elements = new SortedDictionary<uint, DataElement>(); int len = 0; DataElement element = new DataElement(); element.bytOrder = bytOrder; element.tag = 0x00000002; element.setValue(UIDs.Verification); rq.elements.Add(0x00000002, element); len += (element.getSerialLen()); element.tag = 0x00000100; element.setValue(0x0030.ToString()); rq.elements.Add(0x00000100, element); len += (element.getSerialLen()); element.tag = 0x00000110; element.setValue(0x03.ToString()); rq.elements.Add(0x00000110, element); len += (element.getSerialLen()); element.tag = 0x00000800;//有无对应的数据段 element.setValue(0x0101.ToString()); rq.elements.Add(0x00000800, element); len += (element.getSerialLen()); element.tag = 0x00000000;//消息原语数据长度 element.setValue(len.ToString()); rq.elements.Add(0x00000000, element); //len += (element.getSerialLen()); rq.itemLen = (uint)(12 + 2 + len); rq.pduLen = rq.itemLen + 4; //进行c-echo-rsp响应 stream.writeBytes(rq.serial()); }
View Code
看看代码里面特定的地方 是不是跟我上面描述的一样?就这样so easy 。看到没 其实我这些都是在dicom文档里翻的 就这样而已没什么神奇的 相信你也能。再来复习下dicom标准跟网络通讯相关的几个章节 :
DICOM Part 4: Service Class Specifications ,服务类规范
DICOM Part 7: Message Exchange 消息交换
DICOM Part 8: Network Communication Support for Message Exchange 网络通讯对消息交换的支持
按照他们的套路来 就水到渠成 。
这是我的测试结果 不用怀疑哥的水平 哥是拿到医院去测试过的:
相关文章推荐
- dicom网络通讯入门(2)
- 表单三件套之一“上传插件” Plupload--网络转载
- dicom网络通讯入门(1)
- 网络编程Socket它TCP它TIME_WAIT国家具体解释
- TCP三次握手以及四次挥手图解
- TCP/IP,Http,Socket,XMPP的区别
- 生产环境常见的HTTP状态码列表
- NginxHttpAccessKeyModule实现防盗链
- 基于vitamio的网络电视直播源码
- 基于vitamio的网络电视直播源码
- tcp ip协议笔记(1)——简介
- Http REST实践
- 网络编程 UDP 聊天功能
- 服务器共享文件夹后,客户端出现“您可能没有权限使用网络资源”提示的解决办法
- 最简单的神经网络算法
- HTTP 1.1与HTTP 1.0的比较
- HTTP协议详解 http://www.cnblogs.com/EricaMIN1987_IT/p/3837436.html
- http 协议中的content length是什么意思?
- 中小型网络系统总体规划与设计方法(二 )
- HTTP长连接与短连接