Comments (6)
We don't provide any timeout. That timeout comes from the OS. You control the timeout in your OS, or use us_socket_timeout on the connecting socket.
from usockets.
Thank you. I think that to use us_socket_timeout the us_socket_context_connect has to finish first. The problem I am facing is to control the timeout for the connect. Do you know how to change the OS timeout?
from usockets.
You don't need to wait. us_socket_context_connect returns a us_socket_t and you can start a timeout directly when it returns. The only thing that can take time inside us_socket_context_connect is if you pass it some domain name that doesn't resolve immediately. But you can solve that by resolving the domain to an IP yourself, before you call us_socket_context_connect.
from usockets.
I am passing a local IP address and port that is not assigned to any device on purpose to try to limit the timeout and it takes 20s to return the socket. Is there a way to make the us_socket_context_connect to exit from another thread?
from usockets.
us_socket_context_connect calls some hostname resolving syscall that hangs until done. So you cannot abort it. Just make sure whatever you pass us_socket_context_connect actually resolves to something and it should return immediately. You can do this by resolving whatever you want to connect to before you pass it to us_socket_context_connect.
from usockets.
Thank you, I will do that.
As I am passing the IP address I think the hostname resolution could be bypassed.
If you could point out what function the hostname resolution I could locally patch it.
Perhaps it could be also addressed later as an improvement to the library.
from usockets.
Related Issues (20)
- Weird error when using ARM64 arch HOT 1
- Extremely low performance and double free HOT 9
- "src/internal/internal.h:119:5: error: unknown type name 'uint32_t'" When building with boost.asio
- Rewrite in Rust
- Zig experiment ? HOT 1
- [regression in 0.8.6] error: use of undeclared identifier 'IP_PKTINFO' HOT 1
- Compile static library on windows HOT 2
- Error initializing structure msg_hdr by UDP, field msg_name
- Server fails to bind localhost in container
- Memory leak in us_create_timer
- It is good, can it support CMakeLists.txt? HOT 1
- Tests fail to compile: error: comparison between pointer and integer ('void *' and 'int') HOT 2
- us_socket_context_pre_open event
- Are closed fd's being polled? HOT 8
- Build fails without -fPIC flag supplied from outside
- works with letsencrypt ? HOT 2
- Failed to bind to 0.0.0.0
- nullptr access in us_internal_loop_unlink
- Update boringSSL HOT 2
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 usockets.