找回密码
 立即注册

QQ登录

只需一步,快速开始

13186021896

注册会员

3

主题

8

帖子

81

积分

注册会员

积分
81
最新发帖
13186021896
注册会员   /  发表于:2016-12-23 17:17  /   查看:4472  /  回复:6
本人在修改之前公司做的pacs系统,他们当时使用了leadtools图片传输接口实现了正常流程的图片传输。
现在出现了几个问题:
当有图片正在传输时,这时把客户端一个关闭按钮点了(本来当这个按钮关闭的时候需要释放连接资源,以及通知服务器终止该图片的操作)。
测试的时候发现根本就没通知服务器释放相关的资源,导致再想要传输第二张图片时,连接被占用的情况。接下来才会通知服务器端释放连接资源。
当传输第三张图片时,连接资源被释放掉了,可是服务器还在处理第一张图片,最终报的错误是“leadtools.dicom.dll中发生错误,错误内容为内存损坏”



6 个回复

倒序浏览
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2016-12-26 11:17:57
沙发
你好,能否将部分代码贴出来么方便研究,另外请问您使用的是哪个版本的控件
回复 使用道具 举报
13186021896
注册会员   /  发表于:2016-12-27 09:39:59
板凳
Richard.Ma 发表于 2016-12-26 11:17
你好,能否将部分代码贴出来么方便研究,另外请问您使用的是哪个版本的控件

客户端用一段代码
回复 使用道具 举报
13186021896
注册会员   /  发表于:2016-12-27 09:50:58
地板

客户端用一段代码
DicomFind.FindSeries(),这句是从服务器取到图像的所有序列
服务器端流程
1.建立连接
  protected override void OnReceiveAssociateRequest(DicomAssociate association)
        {

            VmFactory.CentreServerVM.MW.UpdateClient(this, association.Calling, "Associate");
            VmFactory.CentreServerVM.MW.Log("ASSOCIATE-REQUEST", "Received from " + association.Calling);
            if(BLLFactory.CliBLL.FindUser(PeerAddress,association.Calling))
            {
                SendAssociateReject(DicomAssociateRejectResultType.Permanent,
                    DicomAssociateRejectSourceType.User,
                    DicomAssociateRejectReasonType.Calling);
                VmFactory.CentreServerVM.MW.Log("ASSOCIATE-REJECT", "Invalid calling AE Title: " + association.Calling);
            }
            else
            {
                server.DoAssociateRequest(this, association);
                VmFactory.CentreServerVM.MW.EnableTimer(this, association.Calling, true);
                VmFactory.CentreServerVM.MW.Log("ASSOCIATE-REQUEST", "Association accepted from " +
                              association.Calling + " (" + PeerAddress + ")");
            }
        }
2.服务器去取序列
3.关闭连接
        protected override void OnReceiveReleaseRequest()
        {
            server.Clients.Remove(PeerAddress);
            VmFactory.CentreServerVM.MW.RemoveClient(this);
            SendReleaseResponse();
        }
以上这些在正常情况下都没问题
现在就是频繁访问下出现问题,即在第一次连接还没关闭之前,想打开第二个连接,这时就会出现问题

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
13186021896
注册会员   /  发表于:2016-12-27 09:54:26
5#
Richard.Ma 发表于 2016-12-26 11:17
你好,能否将部分代码贴出来么方便研究,另外请问您使用的是哪个版本的控件

用的是leadtools18,看地板回复
回复 使用道具 举报
13186021896
注册会员   /  发表于:2016-12-27 11:09:42
6#
Richard.Ma 发表于 2016-12-26 11:17
你好,能否将部分代码贴出来么方便研究,另外请问您使用的是哪个版本的控件

方便加个qq或微信吗
我的qq2998426761
微信g666q888g
回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2016-12-27 17:18:11
7#
你好,下面目录为v19版本对应该功能的demo路径
LEADTOOLS 19\Shortcuts\PACS\.NET Class Libraries\PACS (Low Level)
运行目录中的程序代码,这边经测试未出现错误(v19版本),可以作为参考,如确因版本问题导致,建议升级

另外抱歉,目前的暂时还没有工作的微信和qq,论坛沟通记录问题也比较明了


回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部