| | |
| | | #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;
|
| | |
| | | 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);
|
| | |
| | | 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;
|
| | |
|