Re: Bidirectional RPC communication, [callback] or client string binding?
- From: "Pieter" <msnews@xxxxxxxxxxxxxxxx>
- Date: Wed, 6 Jul 2005 18:33:57 -0700
Greg
Thank you for the info on why "callback" examples have been removed.
"A better solution is to make server communicate with the client by
returning [out] data, rather then calling back:"
The server can not communicate to the client if it relies on the client
calling the server?
Do you have any other recommendations or references on dynamically
generating endpoints so that the server can connect back to the client in
order to communicate to the client the same way the client communicates to
the server, except the server is a well known endpoint, and the client is a
dynamic endpoint. I.e. both endpoints will act as client and server, but one
will initialte the communication to a well known endpoint, then the other
will connect back.
Pieter
"Greg Kapoustin [MSFT]" <grigorik@xxxxxxxxxxxxxxxxxxxx> wrote in message
news:42ba2790$1@xxxxxxxxxxxxxxxxxxxxx
> As you have remarked, both the [callback] solution and making your client
> a server have some security issues. A better solution is to make server
> communicate with the client by returning [out] data, rather then calling
> back:
>
> - To send server a message, the client calls: InRpc([in] data).
> - To retrieve a message from the server, the client calls: OutRpc([out]
> data).
>
> Depending on your scenario and performance requirements, you can make the
> OutRpc call asynchronous in order to save threads. Client can post OutRpc
> to the server, and the server will complete it when data is available.
>
> Callbacks are strongly discouraged, and hence have been removed from the
> samples.
>
> Greg
>
> --
> This posting is provided "AS IS" with no warranties, and confers no
> rights.
>
>
> "Pieter" <msnews@xxxxxxxxxxxxxxxx> wrote in message
> news:ezY%23mw5bFHA.2288@xxxxxxxxxxxxxxxxxxxxxxx
>>I am implementing a framework where two local processes communicate to
>>each other using local RPC.
>> The one process will act like a server, the other like a client.
>> The client needs to communicate to the server, and the server needs to
>> communicate to the client, i.e. both client and server need the ability
>> to remotely execute a function.
>>
>> I am considering:
>> a) [callback] interfaces in the client allowing the server to call the
>> client, similar to the client calling the server.
>> b) Let the client send the server a unique string binding to let the
>> server connect to the client.
>>
>> I noticed that the callback SDK example is no longer present in the
>> W2K3SP1 SDK once installed.
>> http://msdn.microsoft.com/library/default.asp?url=/library/en-us/rpc/rpc/examples.asp
>> I also know that both callbacks and client string bindings require
>> scrutiny to prevent exploitation.
>> http://msdn.microsoft.com/library/default.asp?url=/library/en-us/rpc/rpc/callbacks.asp
>>
>>
>> I welcome your recommendations, cautions, alternatives, and samples.
>>
>> Pieter
>>
>
>
.
- Follow-Ups:
- Re: Bidirectional RPC communication, [callback] or client string binding?
- From: Greg Kapoustin [MSFT]
- Re: Bidirectional RPC communication, [callback] or client string binding?
- Prev by Date: RE: Peer to Peer SDK Graph Chat Problem
- Next by Date: Monitoring my server connection wait states?
- Previous by thread: RE: Peer to Peer SDK Graph Chat Problem
- Next by thread: Re: Bidirectional RPC communication, [callback] or client string binding?
- Index(es):
Relevant Pages
|