Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <chrono>
- #include <iostream>
- int aceptar_cliente(const char* ip, const char* port) {
- struct addrinfo* socketinfo;
- getaddrinfo(ip, port, NULL, socketinfo);
- // Asumo que la primera conexión es válida
- int skt = socket(socketinfo->ai_family, socketinfo->ai_socktype, socketinfo->ai_protocol);
- // Asumo que sale todo bien
- bind(skt, socketinfo->ai_addr, socketinfo->ai_addrlen);
- freeaddrinfo(socketinfo);
- listen(skt, 10);
- return accept(skt);
- }
- int main(int argc, char* argv[]) {
- int skt = aceptar_cliente(argv[1], argv[2]); // ip y puerto
- char buf[256];
- while (true) {
- auto t_i = std::chrono::system_clock::now();
- int recibidos = recv(skt, &buf[0], 256);
- auto t_f = std::chrono::system_clock::now();
- std::chrono::duration<int> diff = end-start;
- if (diff > 3000) {
- break;
- }
- if (recibidos <= 0) {
- break
- } else {
- for(int i = 0; i < recibidos; i++) {
- std::cout << buf[i];
- }
- }
- }
- shutdown(skt, SHUT_RDWT);
- close(skt);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement