版权声明:本文为博主原创文章,未经博主允许不得转载。 今天重写一个delphi7的CS架构的软件,原本自带的控件是Indy9。现在升级到Indy10,用delphi XE5开发。发现idTcpSer
来源:互联网 发布:js获取当前城市 编辑:程序博客网 时间:2024/05/16 04:33
版权声明:本文为博主原创文章,未经博主允许不得转载。
今天重写一个delphi7的CS架构的软件,原本自带的控件是Indy9。现在升级到Indy10,用delphi XE5开发。发现idTcpServer与idTcpClient的一些异常导致内存报错。
1.idTcpServer端需要先启动,idTcpClient再启动去connect,TCP通道才算是建立。idTcpClient如果优先启动,则建立不起来TCP通道。
解决方法:如果Cient先启动,IdTCPC_DTU连接时判断是否能连接上 如果不行就关闭。可以设置一个时钟判断是否连的上,等到idTcpServer连接时再启动。
代码:
2.如果idTcpServer端在连接过程中强制关闭S端会报错(我一开始看网上帖子会是缓存数据没清空,但我跟进去反而发现线程出现释放不完整。反正出错方面很多很复杂,基本都屏蔽,有些甚至是无法屏蔽的直接内存报错),如果idTcpClient在连接过程中强制关闭则不会报错。如果idTcpServer端在idTcpClient强制关闭后才关闭是不会报错的。
解决方法:idTcpServer端在被强制关闭S端前发送使idTcpClient端关闭的断开控制命令(这里的断开控制命令,idTcpClient端接收到后会自我先断开),先让idTcpClient端关闭,在idTcpServer端进行关闭。
代码:
我觉得应该还有更好的解决方法,当然如果大家有更好的经验与方法,或者是对idTcpServer和idTcpClient研究比较透的,欢迎留言邮件交流。
阅读全文
0 0
- 版权声明:本文为博主原创文章,未经博主允许不得转载。 今天重写一个delphi7的CS架构的软件,原本自带的控件是Indy9。现在升级到Indy10,用delphi XE5开发。发现idTcpSer
- 版权声明:本文为博主原创文章,博客地址:http://blog.csdn.net/qq_26787115,未经博主允许不得转载。
- MyEclipse导入jquery-1.8.0.min.js等文件报错的解决方案 版权声明:本文为博主原创文章,未经博主允许不得转载。 MyEclipse导入jQuery-1.8.0.min.j
- 本文为博主原创文章,未经博主允许不得转载。
- 版权声明:本文为博主原创文章,未经博主允许不得转载。 深度残差网络在2015的ILSVRC比赛中获得取得第一的成绩,ICLR2016上也是重点议题之一。 它主要思想很简单,就是在标准的前馈卷积网络
- STM32 use microlib是干什么的 2016-04-25 23:13 1298人阅读 评论(0) 收藏 举报 分类: STM32(15) 版权声明:本文为博主原创文章,未经博主允许
- 关于如何在java中实现中文首字母索引排序的问题 2016-08-25 15:14 86人阅读 评论(0) 收藏 举报 分类: Java(19) 版权声明:本文为博主原创文章,未经博主允许不得转载
- 关于悲观锁和乐观锁的区别(最直观理解) 2015-11-23 11:59 5105人阅读 评论(1) 收藏 举报 分类: 数据库(20) 版权声明:本文为博主原创文章,未经博主允许不得转载。
- WINDOWS中NEXUS的安装使用【ATCO整理】 2016-06-20 15:52 367人阅读 评论(0) 收藏 举报 分类: 项目管理(11) 版权声明:本文为博主原创文章,未经博主允许
- 关于AttachCurrentThread和DetachCurrentThread的故事 2012-08-01 18:25 14325人阅读 评论(0) 收藏 举报 版权声明:本文为博主原创文章,未经
- 单例模式八种写法比较 2017-07-04 15:30 25人阅读 评论(0) 收藏 举报 分类: Android移动互联(19) 版权声明:本文为博主原创文章,未经博主允许不得转载。 目录
- 从Indy9升级到Indy10时IdTcpServer的变化
- 从Indy9升级到Indy10时IdTcpServer的变化
- 从INDY9升级到INDY10的改正方法
- 从Indy9升级到Indy10时IdTcpServer的变化
- Struts2相关概念(很全)---以下是个人总结,未经博主允许不得转载
- 把FTPServer从Indy9升级到Indy10后的痛苦经历
- Delphi7到Delphi XE2的升级历程
- springboot入門(一) helloworld
- session与cookie的区别与联系
- [Tensorflow]基于slim框架下inception模型的植物识别
- c++中非静态函数不能用类名调用,为什么CWnd的成员函数GetDC()可以直接调用啊?
- 反射获取属性值
- 版权声明:本文为博主原创文章,未经博主允许不得转载。 今天重写一个delphi7的CS架构的软件,原本自带的控件是Indy9。现在升级到Indy10,用delphi XE5开发。发现idTcpSer
- 职责链模式
- CSS合集
- 记录自己的学习历程---关于JSP的几个面试点(新手学习笔记,并不能保证内容正确性,如有误请指教)
- 基础错题集
- QByteArray储存二进制数据(包括结构体,自定义QT对象)
- 转载_CI 系统搭建:Git、Gerrit与Jenkins
- 互联网时代,我眼中的架构变迁
- http webservice socket的区别(转)