about the size of message

in Help Center
In my project, I should pass a parameter from client to server as a sequence, but I do not know the possible size coz it depends on the user's mind, so I set the Ice_MessageMaxSize as 1024000, but the problem is still, when client pass a message which size about 5M, before the method is be invoked on the server side, the error on client side show as "run time error" without more info, how should I do next? thanks!!
0
Comments
As for the run time error, you should find out what causes the problem using a debugger. Perhaps it's an uncaught Ice exception?
of course I set it both client and server, actually, before I not set it, Ice throw an exception of MessageSizeMax, but after I set it both client and server, when I debug the client, the debugger stopped a while when invoke the method, and then show the run time error, the server do nothing , it means the server side do not receive any message?
Cheers,
Michi.
=================================================
ice definition:
sequence<string> DAOIceParameters;
=====================================================================
source code:
DAOIceParameters m_Vparam;
proxy->SetParameters(m_token,ObjectType,m_Vparam);
=====================================================================
server side
[ Protocol: received request
message type = 0 (request)
compression status = 1 (compression not used, supported by sender)
message size = 55
request id = 12
identity = conn
facet =
operation = SetBufferSize
idempotent = false
context = ]
[ Protocol: sending reply
message type = 2 (reply)
compression status = 1 (compression not used, supported by sender)
message size = 33
request id = 12
reply status = 0 (ok) ]
[ Network: sent 33 of 33 bytes via tcp
local address = 129.0.3.88:10000
remote address = 129.0.3.88:1163 ]
[ Network: received 14 of 14 bytes via tcp
local address = 129.0.3.88:10000
remote address = 129.0.3.88:1163 ]
[ Network: received 55 of 55 bytes via tcp
local address = 129.0.3.88:10000
remote address = 129.0.3.88:1163 ]
[ Protocol: received request
message type = 0 (request)
compression status = 1 (compression not used, supported by sender)
message size = 69
request id = 13
identity = conn
facet =
operation = SetParameterHead
idempotent = false
context = ]
[ Protocol: sending reply
message type = 2 (reply)
compression status = 1 (compression not used, supported by sender)
message size = 33
request id = 13
reply status = 0 (ok) ]
[ Network: sent 33 of 33 bytes via tcp
local address = 129.0.3.88:10000
remote address = 129.0.3.88:1163 ]
=====================================================================
client side
[ Protocol: sending request
message type = 0 (request)
compression status = 1 (compression not used, supported by sender)
message size = 55
request id = 12
identity = conn
facet =
operation = SetBufferSize
idempotent = false
context = ]
[ Network: sent 55 of 55 bytes via tcp
local address = 129.0.3.88:1163
remote address = 129.0.3.88:10000 ]
[ Network: received 14 of 14 bytes via tcp
local address = 129.0.3.88:1163
remote address = 129.0.3.88:10000 ]
[ Network: received 19 of 19 bytes via tcp
local address = 129.0.3.88:1163
remote address = 129.0.3.88:10000 ]
[ Protocol: received reply
message type = 2 (reply)
compression status = 1 (compression not used, supported by sender)
message size = 33
request id = 12
reply status = 0 (ok) ]
[ Protocol: sending request
message type = 0 (request)
compression status = 1 (compression not used, supported by sender)
message size = 69
request id = 13
identity = conn
facet =
operation = SetParameterHead
idempotent = false
context = ]
[ Network: sent 69 of 69 bytes via tcp
local address = 129.0.3.88:1163
remote address = 129.0.3.88:10000 ]
[ Network: received 14 of 14 bytes via tcp
local address = 129.0.3.88:1163
remote address = 129.0.3.88:10000 ]
[ Network: received 19 of 19 bytes via tcp
local address = 129.0.3.88:1163
remote address = 129.0.3.88:10000 ]
[ Protocol: received reply
message type = 2 (reply)
compression status = 1 (compression not used, supported by sender)
message size = 33
request id = 13
reply status = 0 (ok) ]
=====================================================================
stack info
KERNEL32! 77e7e8bb()
MSVCRTD! [email protected] + 57 bytes
ICE11D! 0170b31a()
ICE11D! 0175b1fa()
IceProxy::DAOIceConnection::SetParameters(int 31247512, char 0, const _STL::vector<_STL::basic_string<char,_STL::char_traits<char>,_STL::allocator<char> >,_STL::allocator<_STL::basic_string<char,_STL::char_traits<char>,_STL::allocator<char> > > > & {...}, ...) line 2510 + 29 bytes
CIce_Recordset::Execute(int 0) line 326 + 85 bytes
CIce_Recordset::AddParamRecord() line 268 + 15 bytes
t_insert_longraw_data() line 206 + 13 bytes
main(int 1, char * * 0x01391590) line 525
mainCRTStartup() line 206 + 25 bytes
KERNEL32! 77e7ca90()
====================================================================
ICE11D! 0170b31a()
ICE11D! 0175b1fa()
It looks like you're using Ice 1.1; any reason not to upgrade to a more recent version? Which C++ compiler do you use?
Cheers,
Bernard
another question is how to improve the speed of data transfer by ICE ?
in my programme, it should transfer lots of data between server and client, the possible size is about 10M, then how to do improve the speed of transfer ? thanks more.