<p>Here's another C#/.NET question based merely on curiousity more than an immediate <em>need</em> ...</p>

<p>If you had a <code>Socket</code> instance and you wanted to wrap it in the higher-level <code>TcpClient</code> class, is that possible and how would you do it?</p>

<p>Conversely if you have an instance of <code>TcpClient</code>, is it possible to get the underlying <code>Socket</code>?</p>

From TcpClient to Socket is very easy.
```
tcpClientInstance.Client
```
is the underlying Socket instance.