Synchronous: result is provided on return.
Asynchronous: result is provided later (when the asynchronous service - often executed in a different process, server). On Symbian, you get such result either via some callback method, or in a TRequestStatus variable (that is the role of "aStatus").
So as a minimal solution, you have to wait until the Connect completes, then also wait for the Send:
Active objects basically convert this sequential execution to a callback-based one.
User::WaitForRequest(aStatus); // this line completely blocks your code until connection succeeds or fails
// do something about the error
// then you can also check the result in aStatus here