Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[C++] Wysyłanie zapytania socket

Ostatnio zmodyfikowano 2016-01-07 18:03
Autor Wiadomość
Nikolass
Temat założony przez niniejszego użytkownika
[C++] Wysyłanie zapytania socket
» 2016-01-07 18:03:19
Witam, potrzebuje pomocy w jednej kwestii, łącze się przez socket z serwerem (serwer oczywiście na to przygotowany) mam mniej więcej zarys funkcji (zapytania na port 80 [message = "GET / HTTP/1.1\r\n\r\n";] odpowiada wiec raczej działa) potrzebuje natomiast wysłać zapytanie bardziej skomplikowane, tak to wygląda w PHP:

             // sends packet with request
            // 06 - length of packet, 255, 255 is the comamnd identifier, 'info' is a request
            fwrite($socket, chr(6).chr(0).chr(255).chr(255).'info');

Czy może mi ktoś podpowiedzieć jak to mniej wiece musie wyglądać ?

mam jeszcze fragment kodu z Qt

    QByteArray array;
    char zero = 0;
    char six = 6;
    char _255 = 255;
    array.append(six);
    array.append(zero);
    array.append(_255);
    array.append(_255);
    array.append("info");
    client->sendByteArray(array);

C/C++
int checkServer( char * ip, int port )
{
    int socket_desc;
    struct sockaddr_in server;
    char * message, server_reply[ 2000 ];
   
    //Create socket
    socket_desc = socket( AF_INET, SOCK_STREAM, 0 );
    if( socket_desc == - 1 )
    {
        printf( "Could not create socket" );
    }
   
    server.sin_addr.s_addr = inet_addr( ip );
    server.sin_family = AF_INET;
    server.sin_port = htons( port );
   
    //Connect to remote server
    if( connect( socket_desc,( struct sockaddr * ) & server, sizeof( server ) ) < 0 )
    {
        printf( "connect error" );
        return 1;
    }
   
    printf( "Connected\n" );
   
   
    //Send some data
    message = "GET / HTTP/1.1\r\n\r\n";
    if( send( socket_desc, message, strlen( message ), 0 ) < 0 )
    {
        printf( "Send failed" );
        return 1;
    }
    printf( "Data Send\n" );
   
    //Receive a reply from the server
    if( recv( socket_desc, server_reply, 2000, 0 ) < 0 )
    {
        printf( "recv failed" );
    }
    printf( "Reply received\n" );
    printf( server_reply );
   
    return 0;
}
P-143081
« 1 »
  Strona 1 z 1