使用C语言编写Web服务器,可以通过socket编程实现。以下是一个简单的例子:,,``c,#include,#include,#include,#include,#include,#include,,int main() {, int server_fd, new_socket;, struct sockaddr_in address;, int opt = 1;, int addrlen = sizeof(address);, char buffer[1024] = {0};, const char *hello = "Hello from server";,, if ((server_fd = socket(AF_INET, SOCK_STREAM, 0)) == 0) {, perror("socket failed");, exit(EXIT_FAILURE);, },, if (setsockopt(server_fd, SOL_SOCKET, SO_REUSEADDR | SO_REUSEPORT, &opt, sizeof(opt))) {, perror("setsockopt");, exit(EXIT_FAILURE);, },, address.sin_family = AF_INET;, address.sin_addr.s_addr = INADDR_ANY;, address.sin_port = htons(8080);,, if (bind(server_fd, (struct sockaddr *)&address, sizeof(address))< 0) {, perror("bind failed");, exit(EXIT_FAILURE);, },, if (listen(server_fd, 3)< 0) {, perror("listen");, exit(EXIT_FAILURE);, },, if ((new_socket = accept(server_fd, (struct sockaddr *)&address, (socklen_t*)&addrlen))< 0) {, perror("accept");, exit(EXIT_FAILURE);, },, read(new_socket, buffer, 1024);, printf("Message received: %s,", buffer);, send(new_socket, hello, strlen(hello), 0);, printf("Hello message sent,");,, close(new_socket);, close(server_fd);, return 0;,},
``