将文件的数据从服务器返回到客户端 - reg
returning back file's data from server to client - reg
我只是想在C 中实现一个简单的Web服务器。因为这取决于请求,Web服务器从服务器获取数据。为此我正在使用
int main()
{
std::ifstream file("/home/chaitanya/cpp/net/hello");
int length;
char *buffer;
if(file.is_open())
{
std::cout << "File is openn";
file.seekg(0, std::ios::end);
length = file.tellg();
file.seekg(0, std::ios::beg);
buffer = new char[length];
file.read(buffer, length);
file.close();
}
printf("Data:nn%sn", buffer);
delete[] buffer;
return 0;
}
这个用于小文件的正常工作正常。即使我通过插座大小,我都会发送整个文件数据。这是更好的方法吗?
例如,如果文件大小很大?我想最好一次发送特定的数据。
你们可以建议哪种方法是好的(或)Web服务器使用的任何其他更好/更快的方法?
预先感谢。:)
几乎在每个操作系统中,您都有一个更好的OS依赖性选项用于通过套接字发送文件,例如在linux
中,您有sendfile,在 Windows
中,您有transmitfile和...,但是如果您想拥有一个简单的便携式解决方案,我将从std::ostream
中得出一个将数据发送到套接字的类,然后使用以下方式:
my_socket_stream s;
s << file.rdbuf() << std::flush;
使用此技术,我可以发送多个千兆字节文件而没有任何问题!
相关文章:
- "unknown ca"自生成的 CA、证书和客户端/服务器
- 如何将函数集合传递给客户端类,以便将它们当作客户端类本身的成员使用
- 使用调试/崩溃报告将应用程序部署到客户端
- 如何在本地机器上运行c++和javascript客户端代码(hackerbank风格)
- 如何通过套接字将文本文件的内容从服务器发送到客户端
- 从服务器传输到客户端的消息不会出现
- OpenSSL TLS服务器-使用客户端证书白名单
- 当服务中的事件被触发时,如何将响应从服务发送回客户端?
- 我可以与 python 服务器而不是 c++ 客户端建立 tcp/ip 套接字吗?
- 提升 Asio TCP 服务器 处理多个客户端
- boost::asio UDP 广播客户端仅接收"fast"数据包
- 如何绑定 C++ gRPC 客户端的网络接口
- C++套接字客户端到 Python 服务器未创建连接
- 用于解析 win64 堆栈跟踪的命令行客户端(可以访问符号服务器)
- 将相机数据从服务器实时流式传输到客户端
- 如何将 Firebase 与基于 Linux 的客户端应用配合使用,以便与服务器进行双向消息通信
- GRPC C++ TLS 客户端 grpc::SslCredentials() 方法不返回
- 计算出有多少客户端可以连接到我正在使用的一些tcp服务器代码
- 如何暂停插孔音频客户端
- 将文件的数据从服务器返回到客户端 - reg