Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [cf-dev] Multicast Device Discovery

Hi Kai,

Thank you for your response.

This is indeed related to #82. It seems Maxim did a great job of finding the issue and integrating a fix. Do you have any guess as to if / when this may be integrated into Californium ?

Thanks,

Robert

-----Original Message-----
From: cf-dev-bounces@xxxxxxxxxxx [mailto:cf-dev-bounces@xxxxxxxxxxx] On Behalf Of Hudalla Kai (INST/ESY1)
Sent: Friday, January 27, 2017 12:13 AM
To: cf-dev@xxxxxxxxxxx
Subject: Re: [cf-dev] Multicast Device Discovery

Hi Robert,

this might be related to #82 [1]. Can you take a look at it and maybe comment?

[1] https://github.com/eclipse/californium/issues/82

--
Mit freundlichen Grüßen / Best regards

Kai Hudalla
Chief Software Architect

Bosch Software Innovations GmbH
Schöneberger Ufer 89-91
10785 Berlin
GERMANY
www.bosch-si.com

Registered office: Berlin, Register court: Amtsgericht Charlottenburg, HRB 148411 B;
Executives: Dr.-Ing. Rainer Kallenbach, Michael Hahn

On Thu, 2017-01-26 at 23:06 +0000, Robert Hazbun wrote:
> Hello all,
>  
> I’m trying to use Californium to discover CoAP Devices on an IPv6 
> Network.  I am able to send multicast commands via IP ff02::1. The 
> devices each respond in
> turn:
>  
> 22:50:08.262157 IP6 fe80::290:e8ff:fe53:37a7.37269 > 
> ip6-allnodes.5683: UDP, length 24
> 22:50:08.276986 IP6 fe80::5610:ecff:fe1c:2038.5683 >
> fe80::290:e8ff:fe53:37a7.37269: UDP, length 180
> 22:50:08.277071 IP6 fe80::5610:ecff:fe1c:2030.5683 >
> fe80::290:e8ff:fe53:37a7.37269: UDP, length 180
> 22:50:08.277097 IP6 fe80::5610:ecff:fe1c:1fe7.5683 >
> fe80::290:e8ff:fe53:37a7.37269: UDP, length 180
>  
> Unfortunately, it seems that Californium is matching the responses to 
> the request at a 1:1 ratio and dumping the remaining responses…
>  
> 10 FINE [Matcher]: Closed open request with KeyMID[54042 for null:0] -
> (org.eclipse.californium.core.network.Matcher.java:342) 
> receiveResponse() in thread Thread-3 at (2017-01-26 22:53:45)
> 10 FINEST [ReliabilityLayer]: Cancel any retransmission -
> (org.eclipse.californium.core.network.stack.ReliabilityLayer.java:251)
> receiveResponse() in thread Thread-3 at (2017-01-26 22:53:45) GOT 
> RESPONSE!!!! ACK-2.05   MID=54042, Token=93be4f31377632ed, 
> OptionSet={"Content-Format":"application/json"},
> 10 INFO [Matcher]: Ignoring unmatchable piggy-backed response from
> /fe80:0:0:0:5610:ecff:fe1c:2030%3:5683: ACK-2.05   MID=54042, 
> Token=93be4f31377632ed, 
> OptionSet={"Content-Format":"application/json"}, .. 165 bytes - 
> (org.eclipse.californium.core.network.Matcher.java:363)
> receiveResponse() in thread Thread-3 at (2017-01-26 22:53:45)
> 10 INFO [Matcher]: Ignoring unmatchable piggy-backed response from
> /fe80:0:0:0:5610:ecff:fe1c:1fe7%3:5683: ACK-2.05   MID=54042, 
> Token=93be4f31377632ed, 
> OptionSet={"Content-Format":"application/json"},.. 165 bytes - 
> (org.eclipse.californium.core.network.Matcher.java:363)
> receiveResponse() in thread Thread-3 at (2017-01-26 22:53:45)
>  
> Is there a way to properly configure the request to ensure that the 
> multiple responses are delivered ?
>  
>  
> I have tried many different iterations, starting with a simple 
> CoapClient and async handler. Most recent implementation was 
> attempting to use a Request, and waitForResponse to try to read the various responses.
>  
>                                 Request req = Request.newGet();
>                                 req.setURI(path);
>                                 req.setMulticast(true);
>                                 req.setConfirmable(false);
>                                
>                                 try {
>                                                 Response rep = 
> req.send().waitForResponse(4000);
>                                                 
> System.out.println("GOT RESPONSE!!!! " +rep.toString());
>                                                
>                                                 while ((rep =
> req.waitForResponse(4000)) != null)
>                                                 {
>                                                                
> System.out.println("GOT RESPONSE!!!! " +rep.toString());
>                                                 }
>                                 } catch (InterruptedException e) {
>                                                 // TODO Auto-generated 
> catch block
>                                                 e.printStackTrace();
>                                 }
>  
> Thanks in advance. I look forward to your response.
>  
> Regards,
>  
> Robert
> _______________________________________________
> cf-dev mailing list
> cf-dev@xxxxxxxxxxx
> To change your delivery options, retrieve your password, or 
> unsubscribe from this list, visit 
> https://dev.eclipse.org/mailman/listinfo/cf-dev
_______________________________________________
cf-dev mailing list
cf-dev@xxxxxxxxxxx
To change your delivery options, retrieve your password, or unsubscribe from this list, visit https://dev.eclipse.org/mailman/listinfo/cf-dev

Back to the top