corba远程客户端访问的问题..... ( 积分: 100 )

  • 主题发起人 Tony_comm
  • 开始时间
T

Tony_comm

Unregistered / Unconfirmed
GUEST, unregistred user!
corba 客户端绕过路由器访问服务器的过程。 结果是不成功的,请帮忙看看问题所在。谢谢!
说明:在局域网中试验成功,广域网在主机完全暴露在internet 的环境中时客户端使用下面的参数和
主机进行连接,AppClient.exe -Dvbroker.agent.addr=101.1.1.1 -Dvbroker.agent.port=14000并且是成功的,
当然没有GK和路由器了。
环境:jdk1.3.1_01+windows xp sp2+bcb6+visibroker 4.5 for c++
1、定义IDL文件并且用向导的方式进行接口的实现,并且客户端是用静态的方式进行调用。
//idl
interface Client{
string GetOrderMaster(in boolean metadata);
};
//服务器实现代码
char* ClientImpl::GetOrderMaster(CORBA::Boolean _metadata)
{
Server->Memo1->Lines->Add("CORBA Client Request...");
return "abc123999";
}
//客户端代码
void __fastcall TForm1::Button1Click(TObject *Sender)
{
ShowMessage(client->GetOrderMaster(true));
}
//---------------------------------------------------------------------------
*这几步都是用向导做的,所以系统自动生成的代码就不加了。
2、设置Gatekeeper 的若干属性
//Gatekeeper 属性,我理解应该是对此文件的设置
//gatekeeper.properties 文件
vbroker.gatekeeper.name=myGK
vbroker.orb.exportFirewallPath=true
vbroker.se.exterior.host=192.168.1.83
vbroker.se.exterior.scm.ex-iiop.listener.port=683
vbroker.se.exterior.scm.ex-hiop.listener.port=8088
3、设置AppServer.exe 的服务器属性
//服务器 属性,我理解应该是为Server.exe 设置一个属性文件或以命令行参数的形式带入(这个理解有可能是错的)
//server.ini 文件
vbroker.orb.dynamicLibs=com.inprise.vbroker.firewall.Init
vbroker.se.iiop_tp.firewallPaths=p
vbroker.firewall-path.p=fw,gk
vbroker.firewall.fw.type=TCP
vbroker.firewall.fw.host=101.1.1.1 //internet IP 外部
vbroker.firewall.fw.iiop_port=683
vbroker.firewall.fw.hiop_port=8088
vbroker.firewall.gk.type=PROXY
vbroker.firewall.gk.ior=http://192.168.1.83:8088/GateKeeper.ior
4、运行GK和服务器程序
GK:
gatekeeper //默认为加载当前目录的gatekeeper.properties ,运行正常
服务程序:
//AppServer.exe -ORBpropStorage server.ini
AppServer.exe -Dvbroker.orb.propStorage server.ini
//vbroker.orb.propStorage null 指定包含属性值的属性文件。
//这个用法也不能确定肯定是正确的
5、运行客户程序
AppClient.exe -ORBagentAddr 101.1.1.1 -ORBagentPort 683
//这个用法不能保证完全正确,只是我的理解GateKeeper 与 VisiBroker ORB 通过充当客户端和服务器之间的网关或代理,提供了处理这些基于 OMG CORBA 防火墙规范限制的机制。当某些限制阻止客户端直接连接至服务器时,客户端可选择连接至 GateKeeper,将消息发送至GateKeeper,再由 GateKeeper 将消息转发至服务器。
6、完成。(还是不成功啊)
强调:其中 3,4,5 步的用法我没有找到任何明确的使用方法,所有只能是参考手册的内容去理解。有可能就是这几步的用法是错误的。
网络结构:路由器->GK主机
GK主机(服务器主机,其中运行Server.exe和OSAGENT)它在路由器的里面.
路由器端口映射:683,8088,14000 其中14000 是实验性的打开,理论上好像不需要它也可以。
其中80端口也是开发的,并且HTTP在使用中,映射的方法同样是路由器的“虚拟服务”功能。
 
corba 客户端绕过路由器访问服务器的过程。 结果是不成功的,请帮忙看看问题所在。谢谢!
说明:在局域网中试验成功,广域网在主机完全暴露在internet 的环境中时客户端使用下面的参数和
主机进行连接,AppClient.exe -Dvbroker.agent.addr=101.1.1.1 -Dvbroker.agent.port=14000并且是成功的,
当然没有GK和路由器了。
环境:jdk1.3.1_01+windows xp sp2+bcb6+visibroker 4.5 for c++
1、定义IDL文件并且用向导的方式进行接口的实现,并且客户端是用静态的方式进行调用。
//idl
interface Client{
string GetOrderMaster(in boolean metadata);
};
//服务器实现代码
char* ClientImpl::GetOrderMaster(CORBA::Boolean _metadata)
{
Server->Memo1->Lines->Add("CORBA Client Request...");
return "abc123999";
}
//客户端代码
void __fastcall TForm1::Button1Click(TObject *Sender)
{
ShowMessage(client->GetOrderMaster(true));
}
//---------------------------------------------------------------------------
*这几步都是用向导做的,所以系统自动生成的代码就不加了。
2、设置Gatekeeper 的若干属性
//Gatekeeper 属性,我理解应该是对此文件的设置
//gatekeeper.properties 文件
vbroker.gatekeeper.name=myGK
vbroker.orb.exportFirewallPath=true
vbroker.se.exterior.host=192.168.1.83
vbroker.se.exterior.scm.ex-iiop.listener.port=683
vbroker.se.exterior.scm.ex-hiop.listener.port=8088
3、设置AppServer.exe 的服务器属性
//服务器 属性,我理解应该是为Server.exe 设置一个属性文件或以命令行参数的形式带入(这个理解有可能是错的)
//server.ini 文件
vbroker.orb.dynamicLibs=com.inprise.vbroker.firewall.Init
vbroker.se.iiop_tp.firewallPaths=p
vbroker.firewall-path.p=fw,gk
vbroker.firewall.fw.type=TCP
vbroker.firewall.fw.host=101.1.1.1 //internet IP 外部
vbroker.firewall.fw.iiop_port=683
vbroker.firewall.fw.hiop_port=8088
vbroker.firewall.gk.type=PROXY
vbroker.firewall.gk.ior=http://192.168.1.83:8088/GateKeeper.ior
4、运行GK和服务器程序
GK:
gatekeeper //默认为加载当前目录的gatekeeper.properties ,运行正常
服务程序:
//AppServer.exe -ORBpropStorage server.ini
AppServer.exe -Dvbroker.orb.propStorage server.ini
//vbroker.orb.propStorage null 指定包含属性值的属性文件。
//这个用法也不能确定肯定是正确的
5、运行客户程序
AppClient.exe -ORBagentAddr 101.1.1.1 -ORBagentPort 683
//这个用法不能保证完全正确,只是我的理解GateKeeper 与 VisiBroker ORB 通过充当客户端和服务器之间的网关或代理,提供了处理这些基于 OMG CORBA 防火墙规范限制的机制。当某些限制阻止客户端直接连接至服务器时,客户端可选择连接至 GateKeeper,将消息发送至GateKeeper,再由 GateKeeper 将消息转发至服务器。
6、完成。(还是不成功啊)
强调:其中 3,4,5 步的用法我没有找到任何明确的使用方法,所有只能是参考手册的内容去理解。有可能就是这几步的用法是错误的。
网络结构:路由器->GK主机
GK主机(服务器主机,其中运行Server.exe和OSAGENT)它在路由器的里面.
路由器端口映射:683,8088,14000 其中14000 是实验性的打开,理论上好像不需要它也可以。
其中80端口也是开发的,并且HTTP在使用中,映射的方法同样是路由器的“虚拟服务”功能。
 
哦!
那得请教一下了呀!
得向人家学习呀!
 
学习学习
 
有一点点想法写出来:
1、既然由gatekeeper 来做 客户端 的代理和服务器联系,那么在客户端运行时的命令行参数应该是什么呢?(也就是用那个参数来告诉客户端 gk的位置呢?)
2、在GK的手册中反复提到“服务器属性”并且给了需要设置的内容,但这个服务器属性文件应该怎么在运行服务端程序时以命令行的参数告诉它呢?
 
[小猪] 归来吧,等您出现呢, 有几个问题要问呢。
 
呵呵,有高手,一定虚心学习了!
 
他目前是oracle 版版主。
http://www.01cn.net/cgi-bin/board_show.cgi?id=8&age=30
 
小猪对我的问题已经做了指点,我正在研究中。
 
corba 客户端绕过路由器访问服务器的过程。 结果是不成功的,请帮忙看看问题所在。谢谢!
说明:在局域网中试验成功,广域网在主机完全暴露在internet 的环境中时客户端使用下面的参数和
主机进行连接,AppClient.exe -Dvbroker.agent.addr=101.1.1.1 -Dvbroker.agent.port=14000并且是成功的,
当然没有GK和路由器了。
环境:jdk1.3.1_01+windows xp sp2+bcb6+visibroker 4.5 for c++
1、定义IDL文件并且用向导的方式进行接口的实现,并且客户端是用静态的方式进行调用。
//idl
interface Client{
string GetOrderMaster(in boolean metadata);
};
//服务器实现代码
char* ClientImpl::GetOrderMaster(CORBA::Boolean _metadata)
{
Server->Memo1->Lines->Add("CORBA Client Request...");
return "abc123999";
}
//客户端代码
void __fastcall TForm1::Button1Click(TObject *Sender)
{
ShowMessage(client->GetOrderMaster(true));
}
//---------------------------------------------------------------------------
*这几步都是用向导做的,所以系统自动生成的代码就不加了。
2、设置Gatekeeper 的若干属性
//Gatekeeper 属性,我理解应该是对此文件的设置
//gatekeeper.properties 文件
vbroker.gatekeeper.name=myGK
vbroker.orb.exportFirewallPath=true
vbroker.se.exterior.host=192.168.1.83
vbroker.se.exterior.scm.ex-iiop.listener.port=683
vbroker.se.exterior.scm.ex-hiop.listener.port=8088
3、设置AppServer.exe 的服务器属性
//服务器 属性,我理解应该是为Server.exe 设置一个属性文件或以命令行参数的形式带入(这个理解有可能是错的)
//server.ini 文件
vbroker.orb.dynamicLibs=com.inprise.vbroker.firewall.Init
vbroker.se.iiop_tp.firewallPaths=p
vbroker.firewall-path.p=fw,gk
vbroker.firewall.fw.type=TCP
vbroker.firewall.fw.host=101.1.1.1 //internet IP 外部
vbroker.firewall.fw.iiop_port=683
vbroker.firewall.fw.hiop_port=8088
vbroker.firewall.gk.type=PROXY
vbroker.firewall.gk.ior=http://192.168.1.83:8088/GateKeeper.ior
4、运行GK和服务器程序
GK:
gatekeeper //默认为加载当前目录的gatekeeper.properties ,运行正常
服务程序:
//AppServer.exe -ORBpropStorage server.ini
AppServer.exe -Dvbroker.orb.propStorage server.ini
//vbroker.orb.propStorage null 指定包含属性值的属性文件。
//这个用法也不能确定肯定是正确的
5、运行客户程序
AppClient.exe -ORBagentAddr 101.1.1.1 -ORBagentPort 683
//这个用法不能保证完全正确,只是我的理解GateKeeper 与 VisiBroker ORB 通过充当客户端和服务器之间的网关或代理,提供了处理这些基于 OMG CORBA 防火墙规范限制的机制。当某些限制阻止客户端直接连接至服务器时,客户端可选择连接至 GateKeeper,将消息发送至GateKeeper,再由 GateKeeper 将消息转发至服务器。
6、完成。(还是不成功啊)
强调:其中 3,4,5 步的用法我没有找到任何明确的使用方法,所有只能是参考手册的内容去理解。有可能就是这几步的用法是错误的。
网络结构:路由器->GK主机
GK主机(服务器主机,其中运行Server.exe和OSAGENT)它在路由器的里面.
路由器端口映射:683,8088,14000 其中14000 是实验性的打开,理论上好像不需要它也可以。
其中80端口也是开发的,并且HTTP在使用中,映射的方法同样是路由器的“虚拟服务”功能。
 
路由器 的部署方案是否和防火墙一样呢?
 
问题已经自行解决,那位大侠来领分。
 
多人接受答案了。
 
顶部