Hi Dev
So to answer to Thiago Macieira, my company is not building devices , we
are building software for different OS devices.
This is why i will not be able to fix the devices we are working on.
About the network configuration i am doing a lot of different scenarios
to check it, and part of it is with simulator and part is without.
The best scenario as an answer for you is when i build a network with
only Client android device connected to wireless AP(router) and the
server Android Box is connected wired to the AP(router).
I watched the network with Wireshark on the AP (router) to see the
packets that goes throw it and found out that in the first 5 minutes
there aren't any packets from the client while i am trying to do
discovery with only IPv4, only after 5 minutes from installation.
To be sure that i was right' i tried to build my own multicast socket
with C level with NDK on android and it worked as i installed the
application.
I replaced socket parameter to create a new one like this before sending
and it worked
int sockNadav = socket(AF_INET, SOCK_DGRAM,0);
if (sockNadav <0) {
OIC_LOG(ERROR, TAG,"socket is null");
}
sendto(sockNadav, ((char*)data) + sent, dataToSend,0, (struct sockaddr *)&sock,
socklen);
So now i will be happy to get som information about how in iotivity we
choose the socket for the sendto function
Thanks
Nadav Dawidowicz
Software Engineer
SURE Universal Ltd.
On 03/14/2018 06:14 PM, Thiago Macieira wrote:
On Wednesday, 14 March 2018 01:19:28 PDT Nadavd wrote:
No, that means you need to fix IPv6. What you're asking for is like going
to
your mechanic and saying "raise the volume of the horn, because the brakes
don't work". You need to fix your brakes instead.
About fixing the IPv6 it is a problem because it doesn't work on different
Android box devices (not mine from different company) also the router.
Sorry, *fix the devices*. IPv6 must work and that's not up for discussion. You
could use that excuse in 10 years ago, not in 2018.
The router is not an issue because we're talking about local network traffic
only. The router is not involved. If, however, you have a Level 3 switch that
is dropping certain packets, then fix them because it's interfering with
legitimate traffic. If it blocks IPv6, it may block other things, including
the IPv4 multicast CoAP requests that you would otherwise need (that's exactly
what happens at our offices with the WiFi).
For
the question if the packets go out on IPv4, so in the first 5
minutes i can't see them only after.
How did you test this? Was it with tcpdump on the local machine? Was that
machine just recently booted? Had it already acquired an address via DHCP?
I tested it by using a close network with server client and the simulator,
If you simulated, the simulator may be the problem or may have hidden the
problem. Please test this on actual device, with actual network and actual
applications. I need you to run tcpdump on the sender device and start it
before you launch the IoTivity application.
Also when i am using IPv6 the multicast message will work straight after
starting the iotivity.
It could be simply because IPv6 gets address assignment very quickly
(stateless) whereas IPv4 needs to wait for DHCP. Please confirm that the
network interface had IP addresses assigned before the IoTivity application
launched.
_______________________________________________
iotivity-dev mailing list
iotivity-dev@lists.iotivity.org
https://lists.iotivity.org/mailman/listinfo/iotivity-dev