这是来自客户端的代码(使用)
struct sockaddr_in stSockAddr;
int Res;
int SocketFD;
SocketFD = socket(PF_INET, SOCK_STREAM, IPPROTO_TCP);
if (-1 == SocketFD)
{
perror("cannot create socket");
exit(EXIT_FAILURE);
}
memset(&stSockAddr, 0, sizeof(stSockAddr));
stSockAddr.sin_family = AF_INET;
stSockAddr.sin_port = htons(8182);
Res = inet_pton(AF_INET, "127.0.0.1", &stSockAddr.sin_addr);
然后我使用
从服务器得到响应 char buffer[4096] = "";
n = read(aSocketFD, buffer, 4096);
我的问题是:
我可以获得像 std::basic_filebuf 这样的响应吗?或者我可以得到对 FILE * 的回应吗?
Socket 是一个文件处理程序,所以我可以做到,但是怎么做呢?
最佳答案
对于 C 代码,您可以使用像 FILE* 这样的描述符调用 fdopen():将流与文件描述符(POSIX.1 标准)相关联。
关于c++ - 从套接字读取到 basic_filebuf,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10207983/