Comments (4)
Hi @kFYatek,
Thank you for your explanation. You have a great software 👍
It seems to be OK (see screenshot). I am performing additional tests on my side and after that I will close this issue.
Thank you for your help.
best regards
Tomasz
from anjay.
Hi Tomasz,
In general, your scenario should "just work", no special configuration should be necessary.
Can you send the actual PCAP file instead of just the screenshot? The lack of proper DTLS session resumption may be a problem on either the client or the server side. My initial suspicion is that the server may not recognize the session ID that is supposedly sent as part of the Client Hello during the reconnection - however I cannot verify this hypothesis based on your screenshot alone.
from anjay.
Hi @kFYatek,
Thank you for your answer. Below I am attaching pcap file and log from my console.
For your information, I also tested DTLS session resumption with LeshanDemoClient and the same LeshanDemoServer and it seems to be OK.
Best regards
Tomasz
from anjay.
Hi @tomekmalek,
We have looked at your PCAP and indeed the client is not sending the session ID, so the problem is on the client side.
I have examined our code once again, and it seems that my previous answer was wrong. In your case (communication with the server is blocked on the router), I think Anjay is attempting to send a Register message (which also causes a DTLS handshake attempt) and fails. When the library determines this failure, the DTLS session cache is cleared, so the resumption will not be attempted.
You can test the DTLS session resumption by, instead of blocking the communication on the router, putting the Anjay library into offline mode and back (see anjay_transport_enter_offline() / anjay_transport_exit_offline() - in the command-line demo
client, you can use enter-offline
and exit-offline
commands). The intended flow is that the Anjay library is expected to be notified when e.g. network link is lost, through these function calls. In case of actual communication errors, though, the DTLS session will get invalidated to effectively reset the state and maximize the chance of a successful connection.
I hope that this explanation makes sense to you.
from anjay.
Related Issues (20)
- Adding recurrent task in anjay's main loop HOT 2
- Requesting new parameter on demo app HOT 1
- How to use NUCLEO-L476rg HOT 2
- Configuration of DTLS using MbedTLS HOT 3
- Wrong CoAP endpoint path for send update HOT 4
- anjay_ongoing_registration_exists() remains true when a bootstrapping is used. HOT 2
- How to get higher notification frequency than 1 per second? HOT 2
- 'binding_str' may be used uninitialized warning HOT 1
- anajy_ipso_basic_sensor.c: update_curr_value HOT 1
- handshake failed with Orange Live Objects HOT 4
- Can't cmake on macOS 12.6 HOT 7
- I can not get queueing to work HOT 7
- Demo client not working: getaddrinfo() error: Name or service not known HOT 2
- Missing python package dependencies HOT 3
- How to determine if client is blocked by a firewall?
- Regression in Anjay 3.4.1 regarding Observe-Composite HOT 3
- invalid critical option in query 0.03 Put: 3 HOT 1
- How to specify an alternate path? HOT 1
- Question about anjay_get_server_last_registration_time function HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from anjay.