I’m real noob in C. I’m trying to develop my own lock-server in C (just for practice). And I have a question… Let’s imagine that we have server written in C, we have remote host connected to this server via socket. When connection being initiated – my server has created pointer in memory. Is it possible to remove this pointer when remote host has disconnected? How can I catch disconnect event?
Thank you
In a real world io scenario, you cannot truly detect the disconnection. Instead you must:
This means that systems which “must” ensure connectivity typically send and receive periodic “dummy” messages to detect the loss of the connection sooner than it would be detected by “regular” traffic alone.
Depending on your application the overhead of the keep-alive messages may not be worth the effort.
The “connection” you have on your side of the network is really just a bunch of data structures which allow you to transmit and receive. The lower “IP” layer of “TCP/IP” is connectionless, that means you will not know if your simulated “connection” is available until you attempt to use it (or receive a package telling you explicitly that the other end will not process any more data).