Changes between Version 89 and Version 90 of FAQ


Ignore:
Timestamp:
Feb 23, 2010 1:02:43 PM (14 years ago)
Author:
nanang
Comment:

Added symbian specific problem: socket op returning PJ_ECANCELLED

Legend:

Unmodified
Added
Removed
Modified
  • FAQ

    v89 v90  
    14871487 - please use the latest APS version (currently 2.40(3)), and make sure the APSServer version installed on your device matches the APS SDK/plug-in when building the application. 
    14881488 
     1489=== Socket operation send/receive returning {{{PJ_ECANCELLED}}} === #symbsockcancelled 
     1490 
     1491Symptoms: 
     1492 - network connection is fine and socket seems to be in connected state, but send/receive operation suddenly returns {{{PJ_ECANCELLED}}} while previously such operations has been succeeded 
     1493 - debugging the socket implementation shows that {{{KErrServerBusy}}} is returned by Symbian socket operation. 
     1494 
     1495As mentioned in [http://developer.symbian.org/main/documentation/reference/s%5E3/doc_source/GT_tb92sf/esockserver/RSocketServClass.html#%3a%3aRSocketServ%3a%3aConnect%28TUint%29 RSocketServ::Connect()] reference manual, the maximum number of outstanding asynchronous operations for a Symbian socket server is limited, and the default limit is rather low, {{{KESockDefaultMessageSlots}}} == 8, and when the limit is reached, next socket asynchronous operation will return {{{KErrServerBusy}}}. In this case, the PJLIB socket implementation may switch the socket state to disconnected. 
     1496 
     1497Solutions: 
     1498 - In the application, set the maximum number of outstanding asynchronous operation of a Symbian socket server to a higher number, such as 32, e.g: 
     1499   {{{ 
     1500pj_symbianos_params sym_params; 
     1501RSocketServ socket_server; 
     1502RConnection connection; 
     1503 
     1504socket_server.Connect(32); 
     1505connection.Open(socket_server); 
     1506connection.Start(); 
     1507 
     1508// This must be done before pj_init() is called. 
     1509pj_bzero(&sym_params, sizeof(sym_params)); 
     1510sym_params.rsocketserv = &socket_server; 
     1511sym_params.rconnection = &connection; 
     1512pj_symbianos_set_params(&sym_params); 
     1513   }}} 
     1514 
    14891515=== Various Carbide Load Failed/TRKProtocolPlugin error === #trk 
    14901516