testserver.c (1032B)
1 /* very simple webserver to mock a sensor for testing */ 2 #include <stdio.h> 3 #include <string.h> 4 #include <stdlib.h> 5 #include <unistd.h> 6 #include <arpa/inet.h> 7 8 int main() { 9 int server_fd, client_fd; 10 struct sockaddr_in address; 11 int opt = 1; 12 int addrlen = sizeof(address); 13 char response[] = 14 "HTTP/1.1 200 OK\r\n" 15 "Content-Type: text/plain\r\n" 16 "Content-Length: 4\r\n" 17 "\r\n" 18 "3.14"; 19 20 server_fd = socket(AF_INET, SOCK_STREAM, 0); 21 22 setsockopt(server_fd, SOL_SOCKET, SO_REUSEADDR, &opt, sizeof(opt)); 23 24 address.sin_family = AF_INET; 25 address.sin_addr.s_addr = INADDR_ANY; 26 address.sin_port = htons(8080); 27 28 bind(server_fd, (struct sockaddr *)&address, sizeof(address)); 29 30 listen(server_fd, 3); 31 32 printf("Server running on port 8080...\n"); 33 34 while (1) { 35 client_fd = accept(server_fd, (struct sockaddr *)&address, (socklen_t*)&addrlen); 36 write(client_fd, response, strlen(response)); 37 close(client_fd); 38 } 39 40 return 0; 41 } 42