Transferring files/large data blocks
I would like to be able to pass (potentially large) files between a server and client using ice... I've tried using sequence<byte> and it worked just fine at first but when the files got to a few Mbs things stopped working... (I got an unknown exception from the remote operation)
My setup is something like this:
sequence<byte> ByteData;
interface Client {
void uploadFile( string filename, ByteData data );
};
interface Server {
void login( Client* cli );
};
// in client
server->login( client );
// in server
void
ServerI::login( ClientPrx client, ..... )
{
// read file data
client->uploadFile( filename, data );
}
---
This works for small files, eg the test file I used first was 71k...
For larger files I get "Unknown exception" in the server and ClientI::uploadFile is never reached on the client...
So, is there a recommended way to do this?
|