三层深层次问题探讨!!!!!!!

tanminr 2003-01-08 03:22:50
最近开发了一个三层架构的进销存系统,采用(DELPHI6+Socket+ADO+MSSQL_Server2000),在系统运行过程中,
有以下问题:
1。中间层 连接到服务器(MSSQL_Server2000)的连接数较多。每登陆一个用户,就产生一个数据库连接!
2。SOCKET连接的时间较长后,会产生一个关于Socket的错误!然后客户端无法连接的服务器!(虽然已经采用了容错平衡,可以解决再次连接服务器)
3。当客户端将数据上传时,由于数据量较大的原因,导致客户端无法继续工作,直到上传完成为止。
以上问题,捆扰了我很久,一直在寻求一个好的解决方法。比如说,上传数据可以采用多线程,但是本人试验了
很长时间一直没有成功。请问各位有没有以上问题的解决方法?有没有作过客户端多线程与服务端通信的?
希望各位多交流交流.(mail to:tanminr@963.net)
...全文
98 25 打赏 收藏 转发到动态 举报
写回复
用AI写文章
25 条回复
切换为时间正序
请发表友善的回复…
发表回复
fansnaf 2003-04-17
  • 打赏
  • 举报
回复
gz
mego 2003-04-17
  • 打赏
  • 举报
回复
study
ActiveBeginner 2003-04-17
  • 打赏
  • 举报
回复
gz study
WangPeter 2003-03-26
  • 打赏
  • 举报
回复
说实话,照我目前的水平我只能使用Delphi提供的TMtsDataModule和TMtsAutoObject两个类再结合Midas实现三层架构,还不敢自己写Socket来传递数据,因为我认为自己做的话恐怕很难达到Borland那样的效率和稳定性。
tonyyang 2003-03-26
  • 打赏
  • 举报
回复
奉劝大家不要过分的依赖什么COM+、Midas、Corba。他们只是给提供了一个手段!
更重要的工作要自己去设计客户端、服务器,象楼主所说的问题也就是说你为每个
客户端启动了一个服务例程,而且你的C-S不是无状态的,连接一直保持着!你要
是的自己的客户端和服务器设计成为无状态的,否则似乎,没有发挥出三层的好处,
倒是增加了变成和使用的复杂度。
至于大数据量上传,可以使用多线程,后台传输!但是要尽量不要将大的数据量传来
传去,减少网络负担!修改数据时控制只传修改过的,在下在数据时分段下载,段不
要划分的太大!
catthunder 2003-03-26
  • 打赏
  • 举报
回复
你们说的事务控制是指哪点?
如果是几段SQL语句更新的话,是很简单的。
TDataBase.StartTransaction,
TDataBase.Commit,
TDataBase.Rollback.
chenquan 2003-03-26
  • 打赏
  • 举报
回复
关注问题
mmc0531 2003-03-24
  • 打赏
  • 举报
回复
哪位高手能给我一个多线程的中间层的例子呀???
0531mmc@163.com
先谢过了
tanminr 2003-03-17
  • 打赏
  • 举报
回复
看了各位兄台的讨论,也考虑了很久,我觉得用CORBA连接技术来做应该可以避免Socket的问题,也应该可以避免COM带来的不容易连接的问题。
不过我做的CORBA系统的客户端还是单线程的,有点不爽!小弟我很想请教一个能够在客户端写多线程系统(三层系统)的高手。
NightCloud 2003-02-11
  • 打赏
  • 举报
回复
study
dyf2001 2003-02-11
  • 打赏
  • 举报
回复
up
xh_hero 2003-02-11
  • 打赏
  • 举报
回复
学习 学习 再学习!!
eastliangliang 2003-02-11
  • 打赏
  • 举报
回复
文兄:你的事务控制问题怎么解决的?别卖关子啦,快说啊。
小小的程序是COM中Iunknown接口的实现,在Delphi里好像不用自己写吧。
ytwxw 2003-02-11
  • 打赏
  • 举报
回复
笑天
事务控制的问题你解决的怎么样了?


小小
你的这行代码是用在哪的?客户端?服务器端?

能不能给个完整的例子啊?

我的E_Mail zz_shxx@163.com 谢谢先
ihihonline 2003-01-10
  • 打赏
  • 举报
回复
1:Connect PoolIng;
2:
/* 引用对象*/
ULONG IUnKnown::AddRef(void)
{
m_RefCount++; /*引用计数加一*/
return m_RefCount; /* 返回当前的被引用次数的总数 */
}

/*释放对象的*/
ULONG Iunknow::Release(void)
{
m_RefCount--; /* 引用次数减一 */
if (m_RefCount==0) /* 如果计数值为0,对象释放自己 */
{
delete this;
return 0;
}
return m_RefCount; /* 返回当前的被引用次数的总数 */}

/*查询接口*/
HRESULT IunKnow::QueryInterface(REFIID riid, LPVOID FAR *ppv)
{
if(riid==IID_IUnknown || riid==IID_IDropTarget) /*检查是否对象支持所查询的接口*/
{
ppv=(LPVOID) this; /* 把被请求接口的指针赋给输出参数 */
AddRef(); /* 引用对象 */
Return S_OK; file://成功的标记
}
else{
*ppv=NULL; /* 把输出参数的指针赋为空 */
return E_NOINTERFACE; /* 返回失败的信息 */
}
}

voodoo169 2003-01-10
  • 打赏
  • 举报
回复
高手 学习 学习 再学习!!
lizongqi 2003-01-10
  • 打赏
  • 举报
回复
jackystar 2003-01-09
  • 打赏
  • 举报
回复
ado好像有内存泄漏,每次2k 真的吗?
eastliangliang 2003-01-09
  • 打赏
  • 举报
回复
ado好像有内存泄漏,每次2k,怎么解决呢?
kenmaj 2003-01-09
  • 打赏
  • 举报
回复
看看李维的书吧,他详细分析了应用服务的线程模型,应该可以解决多客户同时访问的效率问题!
关于资源的释放问题,我们写了个程序,每天晚上1点重启应用服务,以前一个月下来,应用服务要占到32M内存,后来重启就好多了!
加载更多回复(5)
内容概要:本文提出一种基于灰狼优化算法(GWO)优化改进互补集合经验模态分解(CEEMDAN)的混合储能风电功率平抑策略。通过GWO算法对CEEMDAN的关键参数(如白噪声幅值、最大本征模态函数数量等)进行全局寻优,显著提高了信号分解的精度与自适应性,有效克服模态混叠与残余噪声问题。在此基础上,将分解后的风电功率序列按频域特征分配给电池与超级电容构成的混合储能系统,充分发挥电池长时储能与超级电容快速响应的优势,实现高频分量由超级电容平抑、低频分量由电池承担的协调控制。结合Matlab平台完成算法仿真与系统建模,验证了该方法在平抑风电功率波动、降低储能系统综合损耗、延长设备寿命及提升电网电能质量与运行稳定性方面的优越性能。; 适合人群:具备一定电力系统分析、可再生能源并网技术、现代信号处理(如EMD类方法)及智能优化算法基础的研究生、科研人员及从事新能源发电控制、储能系统设计与智能电网调度的工程技术人员。; 使用场景及目标:①应用于风电场配套混合储能系统的实时功率协调控制,提升并网友好性;②优化非平稳、非线性风电功率信号的自适应分解精度,服务于后续预测与调度;③结合GWO等群智能优化算法,提升储能系统在平抑可再生能源波动中的动态响应能力、运行经济性与工程实用性。; 阅读建议:建议读者结合提供的Matlab代码深入理解GWO优化CEEMDAN参数选择机制与混合储能功率分配逻辑,重点关注信号分解效果评价指标(如相关系数、均方根误差)与储能系统性能指标(如SOC变化、功率应力)的关联分析,可进一步拓展至多目标优化、在线滚动优化及其他智能算法(如鲸鱼优化、麻雀搜索)的对比研究。
代码下载链接: https://pan.quark.cn/s/ce7b749cac89 家政上门预约服务小程序源码是一款用于构建专业家政门到门预约服务应用的小程序软件,能够帮助用户创建一个独立的品牌中心,不仅有助于构建一种身临其境的客户体验,而且能够以「美图秀秀」风格的方式展示专业的维修项目以及维修人员,使得服务信息一目了然。该源码主要适用于单一区域(或无需设置城市),不支持企业直接入驻(企业可以选择以个人身份进行入驻),其后台系统功能完备,订单分配方式丰富多样。维修人员能够参与订单的竞争获取,管理员则有权进行订单的指派,同时系统支持客户自主选择维修师傅,并配备了分销与促销、会员优惠、积分兑换、子卡使用等多种营销手段。源码所含功能:城市定位:允许设置多个城市,一旦启用城市功能,客户在进入首页时将自动进行位置识别,同时在首页和下单页面对客户是否位于运营城市进行提示。注意:每个城市提供的服务的种类相同,此功能并非城市加盟或代理功能,城市设置的主要目的是提醒客户当前所在城市非运营区域。下单途径:提供多种下单方式,包括选择服务下单(可选择配件/可直接选择师傅/仅显示后台设定的距离范围内的师傅)、次卡下单(需先购买次卡/次卡可设定使用次数和有效期)、管理员派单(客户需扫描绑定至个人微信)。抢单/派单:后台可设定距离范围,维修人员仅能参与范围内订单的竞争(抢单功能可根据需求关闭),管理员在派单页面会按照师傅与客户的距离进行排序,同时展示师傅的联系电话,以便在派单前与师傅进行电话确认订单:
内容概要:本文围绕“考虑光伏-储能-数据中心多能互补的园区容量优化配置”展开研究,提出了一种基于Matlab代码实现的综合优化模型,旨在通过深度融合光伏发电、储能系统与数据中心的算力负荷特性,实现园区内能源供给与信息负载的协同优化。研究构建了一个兼顾可再生能源出力波动性、储能系统动态响应能力以及数据中心弹性算力需求的多目标优化框架,采用先进的优化算法求解光伏装机容量与储能配置容量的最优组合,以实现能源利用率最大化、运行成本最小化及碳排放最低化的多重目标。文中提供了完整的Matlab实现代码,涵盖数据预处理、模型构建、求解流程与结果可视化,便于读者复现、验证与拓展研究。; 适合人群:具备一定电力系统、能源工程、运筹学或自动化背景的科研人员、研究生及工程技术人员,尤其适用于从事综合能源系统规划、可再生能源集成、数据中心节能优化、低碳园区建设等相关领域的专业人士。; 使用场景及目标:①用于高校与科研机构开展多能互补系统容量配置的理论研究与教学示范;②为工业园区、数字经济园区、绿色数据中心等提供科学的能源系统规划与设计依据;③支撑智能微电网、虚拟电厂、碳中和园区等新型能源形态的仿真验证与决策支持。; 阅读建议:建议读者结合Matlab代码与技术文档同步研读,重点关注优化模型的数学建模逻辑、目标函数设计、约束条件设定及求解器调用过程,推荐在实际案例数据基础上调整参数进行仿真实验,以深入理解多能互补系统的协同运行机制与优化配置规律。

1,594

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 网络通信/分布式开发
社区管理员
  • 网络通信/分布式开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧