用socketconnection 为何不能pooler?急。。。诚心请教。

hjh218 2003-11-21 12:46:46
用socketconnection 为何不能pooler?
...全文
78 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
halfdream 2003-12-16
  • 打赏
  • 举报
回复
这方式实现的对象POOL。。构架上比较死,不够实用。
不如COM+那样的POOL实用。
halfdream 2003-12-15
  • 打赏
  • 举报
回复
刚才看了一下那个DEMO,
它的设计思路倒是确定无疑可以让SocketConnection,或WebConnnection POOLER.
它要手工注册一下才能使用SocketConnection的原因有点象BORLAND程序员的大意...

看看下面这句..
//被POOLED的RDM里面重载了这个函数让我觉得很奇怪..
//因为它不被直接调用的...它不是直接让客户端连上来的,
//也就是说它根本不需要..EnableSocketTransport和EnableWebTransport
//恰恰相反,TPooler类是需要重载这个函数的...
//我想,稍作修改应该就能解决这问题的.
//就不要别扭的去修改注册表了..


class procedure TPooledRDM.UpdateRegistry(Register: Boolean; const ClassID, ProgID: string);
begin
if Register then
begin
inherited UpdateRegistry(Register, ClassID, ProgID);
EnableSocketTransport(ClassID);
EnableWebTransport(ClassID);
end else
begin
DisableSocketTransport(ClassID);
DisableWebTransport(ClassID);
inherited UpdateRegistry(Register, ClassID, ProgID);
end;
end;
huojiehai 2003-12-14
  • 打赏
  • 举报
回复
用socketconnection是能pooler的,但如果你服务器端用了某些客户端的VCL组件的话有可能是不行的,即使你uses 了一下这些组件所在的单元也不行。
halfdream 2003-12-14
  • 打赏
  • 举报
回复
不错的问题,关注
lastexile 2003-12-13
  • 打赏
  • 举报
回复
用socketconnection能pooler的

http://www.delphibbs.com/delphibbs/dispq.asp?lid=294601
chen_s_G 2003-12-01
  • 打赏
  • 举报
回复
我也试过,但最终放弃了,因为监听程序不能访问到RDM的GUID,还是只能用DCOM做!
akwa 2003-12-01
  • 打赏
  • 举报
回复
还有,在DEMO中,获取POOLER中对象需要AS_XXX事件,对于无状态服务器设计有困难,请高手
指教.
hjh218 2003-11-26
  • 打赏
  • 举报
回复
首先感谢大家的回复。
demo 中用dcomconnection可以,但是web,socket控件则不行,
我看过demo的代码,它是通过pooler manager动态产生rdm,相当于
一个com控件动态产生另一个com控件.webconnection 是通过httpsrvr.dll
作桥梁,是不是这里的原因,希望继续得到大家的帮助。
感谢 miracle,rainsea,huojiehai.
xiangwangz 2003-11-24
  • 打赏
  • 举报
回复
帮你顶!俺不懂
rainsea 2003-11-22
  • 打赏
  • 举报
回复
要自己实现
huojiehai 2003-11-22
  • 打赏
  • 举报
回复
delphi的demo有
C:\Program Files\Borland\Delphi6\Demos\Midas\Pooler
Miracle 2003-11-21
  • 打赏
  • 举报
回复
pooling要自己编码实现。

1,592

社区成员

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

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