AnswerBun.com

Segfault en struct sockaddr_in c++

Stack Overflow en español Asked by Frijolito on December 24, 2020

Mi problema es simple ya tenia escrita una funcion que para hacer una petición get a un servidor mio, pero la borre y la volvi a escribir la cosa es que ahora me manda un segfault en esta parte

memset(&server_addr, 0, sizeof(server_addr));
server_addr->sin_family = AF_INET;
server_addr->sin_port = htons(80);
memcpy(&server_addr->sin_addr.s_addr, host->h_addr, host->h_length);

especificamente en la parte del memcpy y no se porque, en algunos foros vi que se deberia escribir esa parte de esta forma

memcpy(&server_addr.sin_addr.s_addr, host->h_addr, host->h_length);

cambiando el &server_addr->sin_addr.s_addr por el &server.sin_addr.s_addr, la verdad no se cual es el problema seguramente algo muy simple pero de todas formas no logro dar con el error

les dejo el código completo de todas formar

char*Requests::get(const char *url) { // url = localhost/path/test_path
    char *message = createGetPayload(url);
    char *response = (char *)malloc(sizeof(char)*8192); // Default size;
    int sock;
    struct hostent *host;
    struct sockaddr_in *server_addr;

    host = gethostbyname(getHost(url));
    if (host == NULL) {
        perror("Error: host not found n");
        exit(1);
    }

    memset(&server_addr, 0, sizeof(server_addr));
    server_addr->sin_family = AF_INET;
    server_addr->sin_port = htons(80);
    memcpy(&server_addr->sin_addr.s_addr, host->h_addr, host->h_length);

    if ((sock = socket(AF_INET, SOCK_STREAM, 0)) < 0) {
        perror("Error: could not create socketn");
        exit(1);
    }

    if (connect(sock, (struct sockaddr *)&server_addr, sizeof(server_addr)) < 0) {
        perror("Error: could not connect with the servern");
        exit(1);
    }

    send(sock, message, strlen(message), 0);
    recv(sock, response, strlen(response), 0);

    return response;
}

Add your own answers!

Related Questions

problema con formulario en laravel

0  Asked on January 1, 2021 by guillermo-albornoz

   

Botón permanezca cambiado de color al ser usado

0  Asked on January 1, 2021 by jose-velasquez

     

¿Cómo puedo encontrar el centroide sin que me de error?

1  Asked on December 31, 2020 by sheccid-selene-corts-servn

       

fallo en fetch js para enviar un dato usando boton (js)

1  Asked on December 31, 2020 by programando

   

Fullcalendar problema con actualizar eventos

0  Asked on December 30, 2020 by matiri90

       

Iterar tuplas y asignar variables por cada iteración

1  Asked on December 30, 2020 by carlos-chavita

 

INNER JOIN entre dos tablas

1  Asked on December 29, 2020 by miguel-ngel-martn

 

¿Cómo sumar 1 en un array?

2  Asked on December 29, 2020 by armando-sarmiento

   

Sumar tiempos tipo TIME en MySQL

1  Asked on December 28, 2020 by ignacio-fuentes

   

Buscar un input dentro de una tabla datatable

2  Asked on December 28, 2020 by jonathan-cunza

   

Abrir un PDF desde un ListBox en C#

1  Asked on December 27, 2020 by ricardo-vazquez

     

Ask a Question

Get help from others!

© 2022 AnswerBun.com. All rights reserved. Sites we Love: PCI Database, MenuIva, UKBizDB, Menu Kuliner, Sharing RPP