0
Not a bug

Server project, UDP Showing a online when it is not

Jackie Roos 5 years ago in Server Solutions updated by Oksana (expert) 5 years ago 8

Hi

In a server/client project the UDP driver online token is showing as online when the server is connected, but the device is not. Tested only in Windows Server.



Eg in server, to make sure, I tried setting the host to empty, 0.0.0.0 and another IP that is does not have any device connected on my network.


BUT! The driver online token still shows online as true. The only time the state is changed to offline is when the server is not running


Please fix, thanks

Answer

Answer
Not a bug

Hello Jackie,


This is situation is normal for UDP protocol.


Wiki:

User Datagram Protocol is a simpler message-based connectionless protocol. Connectionless protocols do not set up a dedicated end-to-end connection. Communication is achieved by transmitting information in one direction from source to destination without verifying the readiness or state of the receiver.
Answer
Not a bug

Hello Jackie,


This is situation is normal for UDP protocol.


Wiki:

User Datagram Protocol is a simpler message-based connectionless protocol. Connectionless protocols do not set up a dedicated end-to-end connection. Communication is achieved by transmitting information in one direction from source to destination without verifying the readiness or state of the receiver.

Hi Oksana

True.

However, if the device the UPD is connecting to is not there, it should not be showing as online.


Suggestion

Send a ping to UDP driver IP addresses - if ping fails device is not online

EG ping will respond with an ICMP Destination Unreachable packet.




Not a bug

Hello Jackie


iRidium supports Popen, you can ping the host and use the result in your Driver.

But we do not plan to implement Ping method to custom UDP driver yet, for the moment it is just Clear UDP transport.


Please add this Idea ("Add Ping in UDP by default") as a new topic and we'll discuss and vote it.


From the Popen link above:

"Popen does not work in the i3 pro client application" so this does not solve the problem


Also, in a normal UDP driver project, the device shows as offline if it does not exist, it is only in the server project that does not show correctly.

Further to above, in a normal UDP driver project, the device shows as offline if it does not exist, it is only in the server project that does not show correctly.


EG custom UDP driver, in this example IP address is not on the network, the same as the test in iRidium Server driver, and it correctly shows the device is not online:


Hello Jackie,


Please, see my video: https://drive.google.com/file/d/0Bw5TgGlnxM3CUGdqTkkzVEhuR1E/view?usp=sharing


I use:

- iRidium Server

- i3 pro

- Emulator UDP.


One PC (common ports).


1. If I start iRidium Server with 10010 port and local port, when this port use Emulator UDP -> Online - 0, Status - 1. Because for server port is busy,

2. If I stop Emulator UDP, the port is free for iRidium Server -> Online - 1, Status - 2. But I don't have any devices with this port.

3. When I start i3 pro without local port, I can see Online - 1, Status - 2. But I don't have any devices with this port. If I start Emulator UDP (it "hears" this port), Online and Status isn't change, but Emulator UDP can accept commands from i3 pro.


I hope, it helps you to understand.