|
Boost Users : |
Subject: [Boost-users] ASIO: What is the proper way to upload a LARGE file?
From: Ramon F Herrera (ramon_at_[hidden])
Date: 2011-01-13 11:11:47
I have successfully been using this code to upload small stuff:
try {
// open tcp connection
tcp::iostream net_stream(strSubmitServer, "12345");
// send file name
net_stream << strFile << endl;
// copy file
char ch;
while ((ch = fgetc(f)) != EOF)
net_stream << ch;
} catch (std::exception& e) {
std::cout << "Exception: " << e.what() << std::endl;
}
Needless to say, the code above is extremely slow/inefficient for bulky
transfers.
Now I need to upload some large fails, and tried this:
tcp::iostream net_stream(SERVER_ADDR, "12345");
// send file name
net_stream << IN_FILE << "\n";
// send tags data size
net_stream << count << "\n";
// copy tags data
net_stream.write((char *)data, count); <<== app crashes here
I figured that TCP would break the delivery into packets...
TIA,
-Ramon
Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net