📄 client.cpp
字号:
#include "CosNaming_c.hh"
#include "../TradeResult_c.hh"
#include "../Trader_c.hh"
#include "../TraderHome_c.hh"
USE_STD_NS
int main(int argc, char* const* argv)
{
try {
CORBA::ORB_var orb = CORBA::ORB_init(argc, argv);
if (argc != 2) {
cout << "Usage: Client <ServerIOR>" << endl;
return argc;
}
// obtain WebLogic Server IOR from command line argument
const char* ior = argv[1];
// string to object
CORBA::Object_ptr o = orb->string_to_object(ior);
// obtain a naming context
CosNaming::NamingContext_var context = CosNaming::NamingContext::_narrow(o);
CosNaming::Name name;
name.length(1);
name[0].id = "IIOPStatelessSession.TraderHome";
name[0].kind = "";
// resolve and narrow to RMI object
CORBA::Object_var object = context->resolve(name);
examples::rmi_iiop::ejb::generic_idl::TraderHome_var home =
examples::rmi_iiop::ejb::generic_idl::TraderHome::_narrow(object);
examples::rmi_iiop::ejb::generic_idl::Trader_ptr bean = home->create();
char* stocks[]={"BEAS", "MSFT", "AMZN", "HWP", 0};
for (int i=0; i<4; i++) {
int shares = (i+1) * 100;
cout << "Buying " << shares << " shares of " << stocks[i] << endl;
bean->buy(stocks[i], shares);
}
}
catch(const CORBA::Exception& e) {
cout << "Failure: " << e << endl;
}
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -