From b6441a19e4db6339e37de3440107be0530c5baaf Mon Sep 17 00:00:00 2001 From: houxiao <houxiao@454eff88-639b-444f-9e54-f578c98de674> Date: 星期四, 20 四月 2017 15:09:10 +0800 Subject: [PATCH] socket server finished --- FaceServer/test_client.cpp | 30 +++++++++++++++++++++--------- 1 files changed, 21 insertions(+), 9 deletions(-) diff --git a/FaceServer/test_client.cpp b/FaceServer/test_client.cpp index 5383601..d8d1ce1 100644 --- a/FaceServer/test_client.cpp +++ b/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; -- Gitblit v1.8.0