c_networking

makefile CI cppcheck

basic_http_server.c
sequenceDiagram
    participant Server
    participant Client

    Server ->> Server: Create socket (socket())
    Server ->> Server: Set socket options (setsockopt())
    Server ->> Server: Bind socket to address and port (bind())
    Server ->> Server: Listen for incoming connections (listen())

    loop Continuously listen for connections
        Server ->> Server: Accept incoming connection (accept())
        Client -->> Server: New connection accepted
        Client ->> Server: HTTP request
        Server -->> Client: HTTP response (write())
        Client ->> Server: Close connection
        Server ->> Server: Close client socket (close())
    end
Loading
multithread_http_server.c
sequenceDiagram
    participant Client
    participant Server
    participant Thread

    Server ->> Server: Create socket (socket())
    Server ->> Server: Set socket options (setsockopt())
    Server ->> Server: Bind socket to address and port (bind())
    Server ->> Server: Listen for incoming connections (listen())
    loop Handling Connections
        Server ->> Server: Accept incoming connection (accept())
        Client -->> Server: New connection accepted
        Client ->> Server: HTTP request
        Server ->> Thread: Create thread
        Thread -->> Server: Handle request
        Server -->> Client: HTTP response (write())
        Client ->> Server: Close connection
        Server ->> Server: Close client socket (close())
    end

Loading