优化base64编码&;C语言解码
我正在C中开发一个应用程序,用于发送运行会话的视频日志。为此,我使用客户机-服务器体系结构 客户端优化base64编码&;C语言解码,c,optimization,encoding,base64,C,Optimization,Encoding,Base64,我正在C中开发一个应用程序,用于发送运行会话的视频日志。为此,我使用客户机-服务器体系结构 客户端 在一系列帧中每秒捕获一次屏幕 使用base64对帧即字节数组进行编码 并通过调用web服务API(在C#中)在线程函数中发送到目标服务器 服务器 服务器接收字节数组并对其进行解码以形成一个图像(C#) 问题:- 当我从一台具有2个或多个实时会话的机器连接时,CPU利用率将达到100%,而一切似乎都冻结了 由于base64编码过于繁重且耗时,无法处理,因此我无法捕获1个以上的实时会话 在
- 在一系列帧中每秒捕获一次屏幕
- 使用base64对帧即字节数组进行编码
- 并通过调用web服务API(在C#中)在线程函数中发送到目标服务器
- 服务器接收字节数组并对其进行解码以形成一个图像(C#)
- 当我从一台具有2个或多个实时会话的机器连接时,CPU利用率将达到100%,而一切似乎都冻结了
- 由于base64编码过于繁重且耗时,无法处理,因此我无法捕获1个以上的实时会话
char *base64(const unsigned char *input, int length)
{
BIO *bmem, *b64;
BUF_MEM *bptr;
b64 = BIO_new(BIO_f_base64());
bmem = BIO_new(BIO_s_mem());
b64 = BIO_push(b64, bmem);
BIO_write(b64, input, length);
BIO_flush(b64);
BIO_get_mem_ptr(b64, &bptr);
char *buff = (char *)malloc(bptr->length);
memcpy(buff, bptr->data, bptr->length - 1);
buff[bptr->length - 1] = 0;
BIO_free_all(b64);
return buff;
}
评论不用于扩展讨论;此对话已结束。评论不用于扩展讨论;这段对话已经结束。