Help!! 请问com+(mts) 如何应用到广域网络?

kejian 2007-07-28 10:34:39
com+组件在内网已经调用成功.
现在我想将其应用到互连网上.已经在路由器上对这台服务器设置了DMZ.
可是不知道为什么我在该服务器的内网
telnet 服务器外网IP 135 可以连通

但在外网 telnet 服务器外网IP 135 就不可以.
这是为什么啊?

防火墙已经关闭了.我该怎么办?

如何能在外网调用到内网的com组件???????
十万火急啊,不行的话我就下岸了...呜呜呜!!!
...全文
142 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
kejian 2007-07-28
  • 打赏
  • 举报
回复
再请教一下 太可怕

socket conenction 及scktsrvr.exe

有什么须要注意的地方及知识点吗?
comanche 2007-07-28
  • 打赏
  • 举报
回复
难得有人在用这些技术, 进一步问题可以 q 349287437
kejian 2007-07-28
  • 打赏
  • 举报
回复
是啊,如果有多个组件的话那改动真的是... 晕了

太谢谢 comanche(太可怕) 你了!!

这回不用下岸(岗)了! :)

都怪自已没研究透,就急着上马。太大意了。
一直以为com可以跨网段,唉

再次感谢 太可怕!!!!
comanche 2007-07-28
  • 打赏
  • 举报
回复
不过我提供的 Agent 的方法也是很实用的, 你可以试试, 这样就可以把任何用 COM+ 开发的中间件公布到 internet
comanche 2007-07-28
  • 打赏
  • 举报
回复
你只有一个组件的啊

直接用 socket connection 下接的 server name 选上你的组件名
操作直接是

SocketConnection.AppServer 就是你的对像

oo, 明白, GetXXX 是对像方法, 没错, ScktConn.AppServer.方法 就可
comanche 2007-07-28
  • 打赏
  • 举报
回复
GetXXX 是你自定的 ProxyCreateObject?

差不多这意思了,有点麻烦倒是
kejian 2007-07-28
  • 打赏
  • 举报
回复
好彩只有一个组件.

那我是不是不须要下面这段?
[
提供如下方法, 参数你自已去完善
ProxyCreateObject(cls_id): IDispatch; socket方法必须要能支持 IDispatch接口(现在所有对像都支持倒是), 里面写到
begin
result := CreateRemoteCOMObject(FComServer, CLASS_CoXXX) as ICoXXX;
end;
]

直接用下面这句话行了?
[
SocketConnection.AppServer.GetXXX 方法
]

就可以了?
comanche 2007-07-28
  • 打赏
  • 举报
回复

这样子问题就大点

你有几个对像?每个对像单独由代码建立?

那只好再建一个对像叫 IAgent, 由 borland 向导产生就可, 这个对像最好是向导生成, 不然你会很麻烦, 其它无所谓, 事务选 support

提供如下方法, 参数你自已去完善
ProxyCreateObject(cls_id): IDispatch; socket方法必须要能支持 IDispatch接口(现在所有对像都支持倒是), 里面写到
begin
result := CreateRemoteCOMObject(FComServer, CLASS_CoXXX) as ICoXXX;
end;

客户端 socket connection 就可设置, ip, port 后, 下拉的 server 中就有 agent,设好后, active 设 true;

操作办法, SocketConnection.AppServer.ProxyCreateObject, 代替你 CreateRemoteCOMObject
kejian 2007-07-28
  • 打赏
  • 举报
回复
可是我客户端都是直接用
CreateRemoteCOMObject(FComServer, CLASS_CoXXX) as ICoXXX;

创建的,我该怎么改呢?
comanche 2007-07-28
  • 打赏
  • 举报
回复
ms 作的限制嘛
你照样作的嘛
scktsrvr.exe 在 delphi\bin 目录下, copy 到外网可防问服务器运行起来先
客户端原来的 dcom connection 现改为 socket connection
kejian 2007-07-28
  • 打赏
  • 举报
回复
你可以在外网那台机上起动 scktsrvr
"改用 socket conenction, 程序没变化就可以搞定"


客户端何如何改用socket 再通过scktsrvr 去调用com+ ?

如何实现?
能说一下吗? 救我于水火啊!
kejian 2007-07-28
  • 打赏
  • 举报
回复
To: comanche(太可怕)

可是内网telnet 135 可以
外网去是不行,我不明白这是为何?
comanche 2007-07-28
  • 打赏
  • 举报
回复
com+ 就是不能简单应用到 internet, 已经是事实, 下岸也没办法
不过用 delphi 你可以在外网那台机上起动 scktsrvr
客户端改用 socket conenction, 程序没变化就可以搞定

1,593

社区成员

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

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