#include <iostream>
#include <string>
#include <chrono>
#include <ctime>
#include <sys/socket.h>
void
initiateClockServer() {
int
socketfd = socket(AF_INET, SOCK_STREAM, 0);
std::cout <<
"Socket successfully created"
<< std::endl;
int
port = 8000;
struct
sockaddr_in server_addr;
server_addr.sin_family = AF_INET;
server_addr.sin_addr.s_addr = INADDR_ANY;
server_addr.sin_port = htons(port);
bind(socketfd, (
struct
sockaddr*)&server_addr,
sizeof
(server_addr));
std::cout <<
"Socket is listening..."
<< std::endl;
listen(socketfd, 5);
while
(
true
) {
struct
sockaddr_in client_addr;
int
client_len =
sizeof
(client_addr);
int
connfd = accept(socketfd, (
struct
sockaddr*) &client_addr, (socklen_t*)&client_len);
std::cout <<
"Server connected to "
<< client_addr.sin_addr.s_addr << std::endl;
std::chrono::time_point<std::chrono::system_clock> now = std::chrono::system_clock::now();
std::
time_t
time
= std::chrono::system_clock::to_time_t(now);
std::string time_str = std::
ctime
(&
time
);
send(connfd, time_str.c_str(), time_str.size(), 0);
close(connfd);
}
}
int
main() {
initiateClockServer();
return
0;
}