We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
Hi,
To establish more connections using BSD sockets, I need to determine the best approach.
1)Should I implement multiple threads for this purpose? For example, I could use a threading model similar to the following:
https://www.keil.com/pack/doc/mw6/Network/html/group__bsd__routines.html#ga7005ffbeeff92be5394ff3244da79028
2) Alternatively, should I create a server thread and utilize the listen function with a backlog argument greater than 1? If that’s the case, I would need to manage incoming connections using the accept function to ensure they are handled.
listen
accept
3) As I see the Network debug window details, there is a bsd_cb_tcp callback function, but there is no information on how to implement or use it, Is there any resource?
4)How can I get the BSD socket states, such as Established, Connected, or others?"
5)Is there a function to determine the amount of available memory
In addition, I would like to understand how to determine when a request is sent to a non-blocking listener so that I can accept it using the accept command.
I would like to provide some clarification regarding my questions:
listen(sock, 1)
ioctlsocket
https://www.keil.com/pack/doc/mw6/Network/html/group__bsd__routines.html#gac6b00a29e8f1664d7ba4a70bfb92d9db
In the sample code, the addr is a member of SOCKADDR_IN, which can't be sent to SOCKADDR (the fourth item in the recvfrom command).
addr
SOCKADDR_IN
SOCKADDR
recvfrom
https://www.keil.com/pack/doc/mw6/Network/html/group__bsd__routines.html#ga0b42eb9e32b55aff7130ef48afd8b885
In the sample code, SCK_SUCCESS is not defined. The correct term is BSD_SUCCESS.
SCK_SUCCESS
BSD_SUCCESS
The MDK version 6 middleware you mentioned is outdated and is no longer being developed. It was abandoned almost 10 years ago. You can find the current MDK middleware documentation here.