project lookup

lookup:
lab5/part1mdb-lookup-server over netcatfork, exec, pipes, FIFOs, process trees, dup2Turns a terminal program into a network service without writing any socket code: a named pipe plus netcat plus mdb-lookup, wired together with fork and exec. Two variants, one driving a shell script and one running several servers at once.
lab6/part1mdb-lookup-server: a real socket serversocket, bind, listen, accept, fdopen, sockaddr_inThe netcat scaffolding replaced by actual Berkeley sockets. Loads the database, accepts a TCP connection, reads keys line by line with fdopen, and writes matching records back down the same socket.
lab6/part2http-client: HTTP by handTCP client, gethostbyname, HTTP request framing, CRLFParses a URL, resolves the host, opens a socket, writes a GET request with correct CRLF framing, and separates response headers from the body. Writing the client first is what makes the server in lab7 make sense.
concepts/socketssocket programming thread through the labssocket, bind, listen, accept, connect, send, recvLabs 5 through 7 build up in order: fake a server with netcat, write the server for real, write a client, then write a server that is also a client of another server. Each step removes one piece of scaffolding.
portfolio/http-serverHTTP Server in Csockets, fork, linked lists, HTTP/1.0, Cloudflare tunnelAn iterative TCP server on the raw socket API, serving static files and records from a database also written in C. The write-up you are reading is served by it.