2015-03-06 3 views
1

Я работаю над COAP для передачи информации между устройствами. Я только в этапе обучения. Я передал документ, который реализовал образец COAP в eclipse, используя californium. В этом случае я попробовал пример, представленный в документе , для постоянного наблюдения за состоянием сервера, но он не работает в , он просто показывает исключение исключающего указателя, когда я запускаю проект. Затем я попытался отлаживать код, по какой причине исключение нулевого указателя, работает хорошо, получая результат непрерывно, я не понимаю, почему это , производя ошибку при запуске проекта, но во время отладки его нет. Пожалуйста, помогитеПример Coap для Observe не работает в Eclipse

код я использую:

public class HelloObserver { 

    public static void main(String[] args) { 
     CoapClient client = new CoapClient("coap://vs0.inf.ethz.ch:5683/obs"); 

     CoapObserveRelation relation= client.observe(new CoapHandler() { 


       @Override 
       public void onLoad(CoapResponse response) { 

        System.out.println(response.getResponseText()); 
        /*response.notify();*/ 
        // TODO Auto-generated method stub 

       } 

       @Override 
       public void onError() { 
        System.err.println(); 
        // TODO Auto-generated method stub 

       } 
      }); 

     relation.proactiveCancel(); 
    } 

} 

ответ

3

Викки, ваш главный(), как это просто выходит довольно много сразу, поэтому нет никакого способа CoapHandler будет называться. После того, как вы настроили свое отношение наблюдения, вам нужно убедиться, что ваша программа все еще что-то делает, например. (правда), где вы спите в течение 10 секунд и отправляете пинг или что-то в этом роде.

Возможно, вы захотите посмотреть, как это делается в this example, где по существу программа завершается при нажатии клавиши.

+0

Спасибо @Kartben за ответ ... – Vicky