client.cpp 1.4 KB
Newer Older
X
xwhqsj 已提交
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
//
// Created by wanhui on 11/2/19.
//

#include <cstdio>
#include <sys/socket.h>
#include <arpa/inet.h>
#include <unistd.h>
#include <cstring>
#include <iostream>

#define PORT 8080

int main()
{
X
xwhqsj 已提交
16 17
    std::string plainsql, dbname, sendstream;
    int sock = 0;
X
xwhqsj 已提交
18 19
    struct sockaddr_in serv_addr;

X
xwhqsj 已提交
20
    plainsql = "select * from test";
X
xwhqsj 已提交
21
    dbname = "student";
X
xwhqsj 已提交
22 23 24
    sendstream = plainsql + "$" + dbname;
    char *sstr = (char*)sendstream.data();
    printf("sendstream is %s\n", sstr);
X
xwhqsj 已提交
25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48
    char buffer[1024] = {0};

    if((sock = socket(AF_INET, SOCK_STREAM, 0)) < 0)
    {
        printf("\n Socket creation error\n");
        return -1;
    }

    serv_addr.sin_family = AF_INET;
    serv_addr.sin_port = htons(PORT);

    // convert IPV4 and IPV6 addresses from text to binary form
    if(inet_pton(AF_INET, "127.0.0.1", &serv_addr.sin_addr) <= 0)
    {
        printf("\n Invalid address/ Address not supported\n");
        return -1;
    }

    if(connect(sock, (struct sockaddr *)&serv_addr, sizeof(serv_addr)) < 0)
    {
        printf("\nConnection Failed\n");
        return -1;
    }

X
xwhqsj 已提交
49 50
    send(sock, sstr, strlen(sstr), 0);
    printf("Hello message: %s sent\n", sstr);
X
xwhqsj 已提交
51

X
xwhqsj 已提交
52
    read(sock, buffer, 1024);
X
xwhqsj 已提交
53
    printf("%s\n", buffer);
X
xwhqsj 已提交
54 55 56 57 58 59 60 61 62 63 64 65 66
}

int i;
for(i = 0; i < strlen(buffer); i++)
{
if(buffer[i] == '$')
{
strncpy(psql, buffer, i);
strncpy(dbn, buffer + i + 1, strlen(buffer) - i - 1);
}
}
printf("%s\n", psql);
printf("%s\n", dbn);