43 lines
1.0 KiB
Plaintext
Raw Normal View History

2025-11-22 16:53:39 +01:00
int main() {
int server_fd;
int client_fd;
char buffer[1024];
char *response;
int bytes;
int response_len;
int count;
printf("Creating socket\n");
server_fd = socket(AF_INET(), SOCK_STREAM(), 0);
printf("Binding\n");
bind(server_fd, 8080);
printf("Listening\n");
listen(server_fd, 10);
printf("Server listening on port 8080\n");
count = 0;
while (count < 100) {
printf("Waiting for connection\n");
client_fd = accept(server_fd, 0, 0);
printf("Client connected\n");
bytes = recv(client_fd, buffer, 1024, 0);
printf("Received %d bytes\n", bytes);
response = "HTTP/1.1 200 OK\nContent-Type: text/html\n\n<html><body><h1>Hello from Mini C HTTP Server!</h1><p>This server runs on a custom C interpreter.</p></body></html>";
response_len = strlen(response);
send(client_fd, response, response_len, 0);
close(client_fd);
printf("Connection closed\n");
count = count + 1;
}
close(server_fd);
return 0;
}