#include #include #include #include #include #include #include #include #include #include int xuj() { struct sockaddr_in addr, client_addr; addr.sin_family = AF_INET; addr.sin_port = htons(1488); addr.sin_addr.s_addr = htonl(INADDR_LOOPBACK); int sock = socket(AF_INET, SOCK_STREAM, 0); if (sock < 0) { perror("Can't open socket!"); return 1; } int flag = true; if (setsockopt(sock, SOL_SOCKET, SO_REUSEADDR, &flag, sizeof(flag)) != 0) { perror("Can't set socket option!"); return 1; } if (bind(sock, (struct sockaddr *)&(addr), sizeof(addr)) != 0) { perror("Can't bind socket!"); return 1; } if (listen(sock, 4) != 0) { perror("Can't listen socket!"); return 1; } static const char html[] = "HTTP/1.1 404 Not Found\r\n\ Content-Type: text/html\r\n\ Host: spaces.ru\r\n\ \r\n\
XUJ PIZD JGURDA SERVER
\n\ "; int client; socklen_t client_addr_len = sizeof(client_addr); while ((client = accept(sock, (struct sockaddr *)&client_addr, &client_addr_len)) >= 0) { shutdown(client, SHUT_RD); send(client, html, sizeof(html) - 1, 0); shutdown(client, SHUT_WR); close(client); } shutdown(sock, SHUT_RDWR); close(sock); return 0; } int main() { return xuj(); }