我正在使用 libevent 来执行简单的 POST http 服务器,但我发现了一个奇怪的问题 - evbuffer_copyout 写入 *data 发送的数据有开销(每次都更改)。正如您在代码中看到的那样,我通过剪切不必要的符号来修复,但它看起来不像正确的解决方案。我在这里收到:
下面是回调代码:
size_t len = evbuffer_get_length(evhttp_request_get_input_buffer(r));
struct evbuffer *in_evb = evhttp_request_get_input_buffer(r);
size_t lenBuffer = evbuffer_get_length(in_evb);
char *data = malloc(len);
evbuffer_remove(in_evb, data, len);
NSString *final = [NSString stringWithCString:data encoding:NSASCIIStringEncoding];
NSString *finalFinal = [final substringWithRange:NSMakeRange(0, len)];
NSLog(@"==>lenBuffer:%zu len:%zu data:%@",lenBuffer,len,finalFinal);
evhttp_add_header(evhttp_request_get_output_headers(r),
"Content-Type", "text/html");
evhttp_send_reply(r, 200, "OK", in_evb);
free(data);