Java: ошибка: ошибка Ice.ConnectionRefusedException = 0. Когда я запускал приложение Android

Я написал приложение для Android в ICE. Но когда я запустил приложение, «LogCat» распечатал сообщение «Ice.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());
}
}

0

Решение

В вашем клиенте вы написали IP-адрес сервера на прокси, как если бы вы могли получить доступ к локальному узлу сервера. Вы должны изменить IP-адрес localhost на прокси и поставить 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»));
станд :: соиЬ << полномочие << станд :: епсИ;

Таким способом можно увидеть IP сервера.

Маленькое объяснение:
Ваш клиент пытается найти сервер на локальном хосте. Если я вас правильно понимаю, клиент находится на мобильном телефоне или на эмуляторе, поэтому он не может найти сервер, который, как я предполагаю, находится на ПК.

Надеюсь, это поможет вам.
Редактировать: это репо полно примеров ZeroC Ice: https://bitbucket.org/arco_group/ice-hello

0

Другие решения


По вопросам рекламы [email protected]