#include <stdio.h> // printf, fgets, etc. #include <stdlib.h> // malloc, etc. #include <string.h> // strlen, strcpy, etc. #include <sys/socket.h> // struct sockaddr, socket, etc. #include <arpa/inet.h> // htons, inet_ntoa, etc. #include <unistd.h> // POSIX standards, close int main() { // 1. Create server (listening) socket // 2. Set up server address // 3. Bind server socket to address // 4. Set server socket as a listening socket // 5. LOOP to keep server running to accept more client connections! while (1) { // A. Accept a connection, obtain the session socket // B. Protocol (send / recv) // C. Close session socket } // 6. Close server socket }