Skip to content
Snippets Groups Projects
Commit ad4b3164 authored by Mertens De Andrade Guilherme's avatar Mertens De Andrade Guilherme
Browse files

Server with socket

parent b81c93cf
No related branches found
No related tags found
No related merge requests found
#include <iostream>
#include <cstdlib>
#include <cstring>
#include <sys/socket.h>
#include <netinet/in.h>
#include <unistd.h>
#include <ctime>
#define PORT 8080
int main() {
int server_fd, new_socket;
struct sockaddr_in address;
int opt = 1;
int addrlen = sizeof(address);
srand(time(0));
if ((server_fd = socket(AF_INET, SOCK_STREAM, 0)) == 0) {
perror("socket failed");
exit(EXIT_FAILURE);
}
address.sin_family = AF_INET; // IPv4
address.sin_addr.s_addr = INADDR_ANY;
address.sin_port = htons(PORT);
if (bind(server_fd, (struct sockaddr *)&address, sizeof(address)) < 0) {
perror("bind failed");
close(server_fd);
exit(EXIT_FAILURE);
}
if (listen(server_fd, 3) < 0) {
perror("listen failed");
close(server_fd);
exit(EXIT_FAILURE);
}
std::cout << "Server is listening on port " << PORT << std::endl;
if ((new_socket = accept(server_fd, (struct sockaddr *)&address, (socklen_t*)&addrlen)) < 0) {
perror("accept failed");
close(server_fd);
exit(EXIT_FAILURE);
}
while (true) {
int random_number = rand() % 100;
if (write(new_socket, &random_number, sizeof(random_number)) == -1) {
perror("write failed");
close(new_socket);
close(server_fd);
exit(EXIT_FAILURE);
}
std::cout << "Sent: " << random_number << std::endl;
sleep(1);
}
close(new_socket);
close(server_fd);
return 0;
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment