Differences between callback and bidir sample

in Help Center
I can't deeply understand the difference between the callback and the bidir examples.
In the first the client sends the server a proxy to itself, in the second sends its identity.
Storing the proxy in a member variable of the server class and calling client class methods through this variable isn't the same, in terms of functionality, of calling client methods after having received the client identity?
Thank you
In the first the client sends the server a proxy to itself, in the second sends its identity.
Storing the proxy in a member variable of the server class and calling client class methods through this variable isn't the same, in terms of functionality, of calling client methods after having received the client identity?
Thank you
0
Comments
bi-direction connections are useful if the client may not be directly reachable by the server. For example, if the client is behind a firewall or through a NAT router this will be the case.
To be specific, in the bidir demo you can see the following:
createProxy returns a proxy which is bound to a specific connection. All invocations on that proxy only go over that connection. You can find more details in the Ice manual.