11

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

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

Conversely if you have an instance of TcpClient, is it possible to get the underlying Socket?

Neil C. Obremski
  • 15,617
  • 20
  • 62
  • 90

2 Answers2

27

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

Socket socket = ...;
TcpClient client = new TcpClient();
client.Client = socket;

Conversely if you have an instance of TcpClient, is it possible to get the underlying Socket?

Get the underlying Socket using TcpClient.Client property.

Jorge Ferreira
  • 88,967
  • 24
  • 112
  • 131
3

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

Jobi Joy
  • 45,978
  • 20
  • 106
  • 120