However, in some cases it's necessary for an application to have more direct control over how the control operates or to take advantage of features that aren't explicitly supported by one of the higher level methods. As an example, there's the lower-level Read and Write methods which allow you to directly read and write blocks of data on the socket and manage the buffering and data processing directly in your application.
If you are generally new to Internet programming or are just getting started with SocketWrench, we recommend that you begin familiarizing yourself with the higher level methods using a basic synchronous (blocking) connection in a single-threaded application. Once you become more familiar with how the class works, then you can move on to more complex applications which leverage the lower level methods, taking advantage of asynchronous networking connections and so on.
One of the common pitfalls that developers can encounter with SocketWrench is the inclination to over-design the application from the start, and then become frustrated because they don't yet have a clear picture of how all the pieces fit together. Start out with a basic design and then as you become more familiar with how the class works, expand on it.