lifeemotions / knx.net

KNX.net provides a KNX API for .NET
MIT License
102 stars 47 forks source link

StateRequest in KnxConnectionTunnelling #13

Closed barisvelioglu closed 8 years ago

barisvelioglu commented 8 years ago

Hi,

I guess the StateRequesterTimer checks the connection is alive every 60 seconds in KnxConnectionTunnelling. It executes the StateRequest method and send datagram to the device. Everythings seems fine. But whats the answer that should we get ? I dont see any answer after the StateRequest. If I am all wrong please could u explain me the StateRequest workflow ?

Thanks

TiagoOliveiraMarques commented 8 years ago

Hi,

That workflow is internal to the library but essentialy it works as this: When the timer elapses a UDP datagram CONNECTIONSTATE_REQUEST is sent to the KNX gateway. The gateway will send UDP datagram CONNECTIONSTATE_RESPONSE, which will be caught by the KnxReceiverTunneling.

This is used to check if the "connection" is alive (remember that this is UDP based).

If you open a wireshark session you can sniff UDP traffic and watch all this in action.

TiagoOliveiraMarques commented 8 years ago

I'm closing this for now. If you have any problems, please open another issue.