...
NetSock_CfgBlock() (TCP/UDP)
NetSock_CfgSecure() (TCP)
NetSock_CfgRxQ_Size() (TCP/UDP)
NetSock_CfgTxQ_Size() (TCP/UDP)
NetSock_CfgTxIP_TOS() (TCP/UDP)
NetSock_CfgTxIP_TTL() (TCP/UDP)
NetSock_CfgTxIP_TTL_Multicast() (TCP/UDP)
NetSock_CfgTimeoutConnAcceptDflt
() (TCP)NetSock_CfgTimeoutConnAcceptGet_ms() (TCP)
NetSock_CfgTimeoutConnAcceptSet() (TCP)
NetSock_CfgTimeoutConnCloseDflt() (TCP)
NetSock_CfgTimeoutConnCloseGet_ms() (TCP)
NetSock_CfgTimeoutConnCloseSet() (TCP)
NetSock_CfgTimeoutConnReqDflt() (TCP)
NetSock_CfgTimeoutConnReqGet_ms() (TCP)
NetSock_CfgTimeoutConnReqSet() (TCP)
NetSock_CfgTimeoutRxQ_Dflt() (TCP/UDP)
NetSock_CfgTimeoutRxQ_Get_ms() (TCP/UDP)
NetSock_CfgTimeoutRxQ_Set() (TCP/UDP)
NetSock_CfgTimeoutTxQ_Dflt() (TCP)
NetSock_CfgTimeoutTxQ_Get_ms() (TCP)
NetSock_CfgTimeoutTxQ_Set() (TCP)
...
For UDP sockets, the sockets close()
without delay. Thus, the next bind()
is not blocked.
TCP Keep-Alives (TODO)
µCµC/TCP-IP does not currently support TCP Keep-Alives. If both ends of the connection are running different Network Protocol Stacks, you may attempt to enable TCP Keep-Alives on the remote side. Alternatively, the application will have to send something through the socket to the remote peer in order to ensure that the TCP connection remains openRFC #1122 stipulate that "Keep-Alive mechanism periodically probes the other end of a connection when connection is otherwise idle, even when there is not data to be sent."
It is possible to enable the Keep-Alive option for a specific socket by using the function NetSock_OptSet
() with the option NET_SOCK_OPT_SOCK_KEEP_ALIVE
.
Knowing your TCP connection ID, you can also used the API function NetTCP_ConnCfgTxKeepAliveEn
().
Each time the connection Idle timeout occurs, the stack will send a keep-alive message to probe the other end of the connection. The timeout value for a given TCP connection can be set with the NetSock_OptSet
() function and the NET_SOCK_OPT_TCP_KEEP_IDLE
option. Else, knowing your TCP connection ID, the API function NetTCP_ConnCfgIdleTimeout()can also be use.