错误:冰.ConnectionRefusedException错误= 0.当我运行Android应用程序
Error: Ice.ConnectionRefusedException error=0. When I ran as Android application
我在ICE中编写了一个Android应用程序。但是当我运行应用程序时,"LogCat"打印出消息"冰"。ConnectionRefusedException error=0",我找了很久,但没有答案。请救救我!非常感谢。这是两段代码。(我很抱歉我的英语很差)
服务器(c++)
int status = 0;
Ice::CommunicatorPtr ic;
try
{
ic = Ice::initialize(argc, argv);
Ice::ObjectAdapterPtr adapter =
ic->createObjectAdapterWithEndpoints("HelloAdapter", "tcp -p 10000");
Ice::ObjectPtr object = new HelloI();
adapter->add(object, ic->stringToIdentity("hello"));
adapter->activate();
ic->waitForShutdown();
}
客户机(Java) public void sethelloPrx(){
Ice.Communicator ic=null;
try{
ic=Ice.Util.initialize();
Ice.ObjectPrx base=
ic.stringToProxy("hello:tcp -h 127.0.0.1 -p 10000");
index = helloPrxHelper.checkedCast(base);
if(index == null)
throw new Error("Invalid proxy");
}catch(Exception e){
Toast.makeText(MainActivity.this,
"IceMain 注册失败",
Toast.LENGTH_SHORT).show();
Log.e("bmi",e.toString());
}
}
在您的客户端中,您已经在代理上写入了服务器的IP,例如您是否可以访问服务器的本地主机。您必须更改代理上的本地主机ip,并放置服务器的ip。修改这一行:
Ice.ObjectPrx base = ic.stringToProxy("hello:tcp -h 127.0.0.1 -p 10000");
:
Ice.ObjectPrx base = ic.stringToProxy("hello:tcp -h <server's IP> -p 10000");
你可以像这样打印服务器的IP:
ObjectPrx proxy = adapter->add(object, ic->stringToIdentity("hello"));
std::cout << proxy << std::endl;
这样你可以看到服务器的IP。
小解释:您的客户端正在尝试定位本地主机上的服务器。如果我对你的解释理解正确的话,客户端要么是在手机上,要么是在模拟器上。因为它找不到服务器,我推测是在PC上。
希望这对你有帮助。编辑:这个仓库充满了zero - Ice示例:https://bitbucket.org/arco_group/ice-hello
相关文章:
- 代码在main()中运行,但在函数中出现错误
- 为什么在运行时没有向我们提供有关分段错误的更多信息?
- 删除指向指针的指针是运行时错误吗
- c++中的指针和运行时错误
- VSCode-有一个红色下划线,但程序构建和运行正确,并且出现配音错误
- 通过 sh 导入模块错误运行.py脚本
- 如何修复分段错误运行时错误
- C++,弹出调试断言失败窗口,我得到矢量迭代器不兼容的错误运行时
- QT错误:运行代码后,在QT中获得Protobuf错误
- VBA 中的 Qt5 Dll,错误运行时错误 453
- 错误:运行时检查失败 #2 - 变量周围的堆栈已损坏
- 为什么我在没有calloc函数的情况下得到错误运行时
- 我不断收到函数初始化错误.(运行时检查失败 #3)
- C++11 线程错误运行时
- 使用 Qt 创建器错误运行 CGAL 示例
- SIGSEGV错误(运行时错误)
- Visual Studio c++ MSVCR100.dll错误运行时
- 运行时错误 - C++ 运行时检查失败 #2 - 变量"theArray"周围的堆栈已损坏
- OpenGl的错误.运行时立方体顶点位置错误
- c++编程错误-运行时错误