If we want client to automatically discover server IP,we can do this by broadcasting a data packet with some identifier to the server , server extracts the client IP and then server send some identifier to the client ,client then extracts the IP from the packet received from the server.Here are simple work flows that is similar to DHCP protocol:- On the server side:- 1.) Open a socket on the server that listens to the UDP request. 2.) Make a loop that handles the UDP request and responses. 3.) Inside the loop,check the received UDP packed to see if its valid by identifier. 4.) Still inside the loop , send a response to the IP and port of the received packet. On the client side:- 1.) Open a socket on a random port. 2.) Loop over the computer network interfaces and get their broadcast address. 3.) send the UDP Packet inside the loop to the interface's broadcast address. 4.) wait for a reply 5.) when we have a reply , check to see if the package is valid. 6.) When its v