/************************************ * 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 /* 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; FDP_Image* fdpImage = new (mesg + sizeof(EVPHeader)) FDP_Image; evpHeader->proto = EVPProto::EVPP_RAW_BIN; // 1 evpHeader->cmd = FaceDaemonCommand::FDC_SENSETIMEFACEDETECT_SAVE; // 133 evpHeader->size = sizeof(EVPHeader) + sizeof(FDP_Image); fdpImage->db_id = 123; // -1 fdpImage->mb_type = MB_Frame::MBFT_RGB565; // 10 fdpImage->width = 52; fdpImage->height = 52; FILE* pFile = fopen("face-13-w52-h52.rgb565", "rb"); length = fread(fdpImage->buff, 1, length, pFile); fclose(pFile); evpHeader->size += length; length = evpHeader->size; } 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; }