Archived
This forum has been archived. Please start a new discussion on GitHub.
about the size of message
simpley
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
-
sorry, my means is Ice.MessageSizeMax too.
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?0 -
We need to know exactly what run-time error you are getting. Please attach a debugger to your process and get a stack trace for the error. (Is the client written in C++ or in Java?) Also, please run the client and server with --Ice.Trace.Protocol=3 -- this may help to shed light on the problem.
Cheers,
Michi.0 -
client was wrote in c++ , thanks first!
=================================================
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! _CxxThrowException@8 + 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()
====================================================================0 -
If you could provide the same stack trace after installing the PDB files, it would be even more useful as we would get line numbers for:
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,
Bernard0
