I am a newbie in RPCs and have the following performance problem with them :
I created a test RPC server whose only purpose is to accept a buffer and to return the same buffer as output (This server demonstrates dynamic allocation by allocating the output buffer at the client-stub). The RPC server uses a fixed endpoint address, therefore clients must get a binding handle to the server before making the remote call.
I tested this server with many concurrent clients. Everything works fine until the number of concurrent clients exceeds 64 : when 65 or more clients are launched, some clients receive the exception "Invalid binding Handle".
* The 65 or more clients run multithreaded and therefore share the same binding handle : is there a limit on the sharing of binding handles by clients ?
* I positioned the concurrency limits high enough in the server so that 65 is well below the limit.
* The errors occur whatever the protocol used (local RPC, TCP/IP). BTW What are actually local RPCs and how are they implemented ?
* I presume that using static endpoints makes the remote call faster than with dynamic endpoints, since there's no overhead for resolving the server address, is that true ?
Any help is appreciated,