<h1>include <iostream></h1>
<h1>include <string></h1>
<h1>include <cstring></h1>
include <sys/socket.h>
include <netinet/in.h>
include <unistd.h>
int main() {
int server_fd, client_fd;
struct sockaddr_in address;
int addrlen = sizeof(address);
// HTML content to be served
std::string html =
"HTTP/1.1 200 OK\r\n"
"Content-Type: text/html\r\n\r\n"
"<!DOCTYPE html>"
"<html>"
"<head><title>My C++ Web</title></head>"
"<body><h1>Welcome to a Simple Web Page!</h1><p>This is served from C++.</p></body>"
"</html>";
// Create socket
server_fd = socket(AF_INET, SOCK_STREAM, 0);
if (server_fd == 0) {
perror("socket failed");
exit(EXIT_FAILURE);
}
// Bind
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);
}
// Listen
if (listen(server_fd, 3) < 0) {
perror("listen");
exit(EXIT_FAILURE);
}
std::cout << "Server is running on http://localhost:8080" << std::endl;
while (true) {
// Accept client
client_fd = accept(server_fd, (struct sockaddr *)&address, (socklen_t*)&addrlen);
if (client_fd < 0) {
perror("accept");
exit(EXIT_FAILURE);
}
char buffer[3000] = {0};
read(client_fd, buffer, 3000); // Read client request
std::cout << "Request:\n" << buffer << std::endl;
// Send response
send(client_fd, html.c_str(), html.size(), 0);
close(client_fd); // Close connection
}
return 0;
}
<h1>include <iostream></h1>
<h1>include <string></h1>
<h1>include <cstring></h1>
include <sys/socket.h>
include <netinet/in.h>
include <unistd.h>
int main() {
int server_fd, client_fd;
struct sockaddr_in address;
int addrlen = sizeof(address);
// HTML content to be served
std::string html =
"HTTP/1.1 200 OK\r\n"
"Content-Type: text/html\r\n\r\n"
"<!DOCTYPE html>"
"<html>"
"<head><title>My C++ Web</title></head>"
"<body><h1>Welcome to a Simple Web Page!</h1><p>This is served from C++.</p></body>"
"</html>";
// Create socket
server_fd = socket(AF_INET, SOCK_STREAM, 0);
if (server_fd == 0) {
perror("socket failed");
exit(EXIT_FAILURE);
}
// Bind
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);
}
// Listen
if (listen(server_fd, 3) < 0) {
perror("listen");
exit(EXIT_FAILURE);
}
std::cout << "Server is running on http://localhost:8080" << std::endl;
while (true) {
// Accept client
client_fd = accept(server_fd, (struct sockaddr *)&address, (socklen_t*)&addrlen);
if (client_fd < 0) {
perror("accept");
exit(EXIT_FAILURE);
}
char buffer[3000] = {0};
read(client_fd, buffer, 3000); // Read client request
std::cout << "Request:\n" << buffer << std::endl;
// Send response
send(client_fd, html.c_str(), html.size(), 0);
close(client_fd); // Close connection
}
return 0;
}
Navigation
Main Page
Valid CSS
| Valid XHTML 1.0