接收TCP数据包并将其放入Openssl BIO_mem中

Receive a TCP packet and put it in Openssl BIO_mem

本文关键字:BIO Openssl mem 数据包 TCP 接收      更新时间:2023-10-16

我想使用套接字fd接收一个TCP数据包,并将其放入Openssl BIO中

char buffer[256];
n = recv(fd, buffer, 256, 0);
BIO* bio = BIO_new(BIO_s_mem());
int y = BIO_puts(bio, buffer);

但它接收到n=227字节,在bio中只放入y=3字节。我该如何修复它?

感谢jww和Remy Lebeau。正如他们所说,我的问题用以下代码解决了:
BIO_write(bio, buffer, n)