/************************************ * For msmr * server.c * tesing the speed of bufferevent_write * 2015-02-03 * author@tom ************************************/ #include #include #include #include #include #include #include #include #include #include "ev_proto.h" #include "face_daemon_proto.h" #include #include #include Logger g_logger(std::cout); /* void make_msg(char* mesg, int& length) { EVPHeader* evpHeader = new (mesg) EVPHeader; evpHeader->proto = EVPProto::EVPP_PROTOBUF; evpHeader->cmd = FaceDaemonCommand::FDC_SENSETIMEFACEDETECT_PB; evpHeader->size = length; FILE* pFile = fopen("facelist-3.pb", "rb"); size_t fsize = fread(mesg + sizeof(EVPHeader), 1, length - sizeof(EVPHeader), pFile); fclose(pFile); } */ void make_msg(char* mesg, int& length) { EVPHeader* evpHeader = new (mesg) EVPHeader; evpHeader->proto = EVPProto::EVPP_RAW_BIN; // 1 evpHeader->cmd = FaceDaemonCommand::FDC_SENSETIMEFACEDETECT_COMPARE; // 134 evpHeader->size = sizeof(EVPHeader); FDP_Image* fdpImage1 = nullptr; { fdpImage1 = new (mesg + evpHeader->size) FDP_Image; fdpImage1->db_id = 0; // -1 fdpImage1->mb_type = MB_Frame::MBFT_JPEG; // 7 fdpImage1->width = 291; fdpImage1->height = 194; FILE* pFile = fopen("compare1.jpg", "rb"); fdpImage1->size = fread(fdpImage1->buff, 1, length, pFile); fclose(pFile); pFile = nullptr; evpHeader->size += sizeof(FDP_Image) + fdpImage1->size; fdpImage1->hton(); } FDP_Image* fdpImage2 = nullptr; { fdpImage2 = new (mesg + evpHeader->size) FDP_Image; fdpImage2->db_id = 0; // -1 fdpImage2->mb_type = MB_Frame::MBFT_JPEG; // 7 fdpImage2->width = 198; fdpImage2->height = 154; FILE* pFile = fopen("compare2.jpg", "rb"); fdpImage2->size = fread(fdpImage2->buff, 1, length, pFile); fclose(pFile); pFile = nullptr; evpHeader->size += sizeof(FDP_Image) + fdpImage2->size; fdpImage2->hton(); } //FDP_Image* fdpImage2 = nullptr; //{ // fdpImage2 = new (mesg + evpHeader->size) FDP_Image; // // fdpImage2->db_id = 0; // -1 // fdpImage2->mb_type = MB_Frame::MBFT_RGB565; // 14 // fdpImage2->width = 52; // fdpImage2->height = 52; // // FILE* pFile = fopen("face-13-w52-h52.rgb565", "rb"); // fdpImage2->size = fread(fdpImage2->buff, 1, length, pFile); // fclose(pFile); // pFile = nullptr; // // evpHeader->size += sizeof(FDP_Image) + fdpImage2->size; // fdpImage2->hton(); //} length = evpHeader->size; evpHeader->hton(); } int main() { // build the message to be sent 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); int i; //for (i=0; i0) { readbuf[readbufsize] = '\0'; printf("%s", readbuf); readbufsize = read(fd, readbuf, sizeof(readbuf)); } printf("\n"); free(mesg); mesg = NULL; bufferevent_free(conn); event_base_free(base); printf("Client program is over\n"); return 0; }