houxiao
2017-04-20 b6441a19e4db6339e37de3440107be0530c5baaf
FaceServer/test_client.cpp
@@ -19,7 +19,8 @@
#include "ev_proto.h"
#include "face_daemon_proto.h"
void make_msg(char* mesg, int length)
/*
void make_msg(char* mesg, int& length)
{
   EVPHeader* evpHeader = new (mesg) EVPHeader;
   evpHeader->proto = EVPProto::EVPP_PROTOBUF;
@@ -30,11 +31,19 @@
   size_t fsize = fread(mesg + sizeof(EVPHeader), 1, length - sizeof(EVPHeader), pFile);
   fclose(pFile);
}
*/
void make_msg(char* mesg, int& length)
{
   FILE* pFile = fopen("facelist-1001-0-2.pb", "rb");
   length = fread(mesg, 1, length, pFile);
   fclose(pFile);
}
int main()
{
    // build the message to be sent
    int length = 19454; // the size of message
    int length = 1024 * 1024; // the size of message
    char* mesg = (char*)malloc((length+1)*sizeof(char)); // Look out the end mark '/0' of a C string
    if (mesg == NULL)
        exit(1);
@@ -75,16 +84,19 @@
    bufferevent_write(conn,mesg,length);
    // check the output evbuffer
    struct evbuffer* output = bufferevent_get_output(conn);
    int len = 0;
    len = evbuffer_get_length(output);
    printf("output buffer has %d bytes left\n", len);
    event_base_dispatch(base);
 
   //char readbuf[100*1024];
   //int readbufsize = read(fd, readbuf, sizeof(readbuf));
   //printf("read:\n%s\n", readbuf);
   char readbuf[10];
   int readbufsize = read(fd, readbuf, sizeof(readbuf));
   while(readbufsize>0)
   {
      readbuf[readbufsize] = '\0';
      printf("%s", readbuf);
      readbufsize = read(fd, readbuf, sizeof(readbuf));
   }
   printf("\n");
    free(mesg);
    mesg = NULL;