Подтвердить что ты не робот

Возможно ли преобразовать объекты Socket и TcpClient?

Здесь другой вопрос С#/. NET, основанный только на любопытстве больше, чем насущная потребность...

Если у вас был экземпляр Socket, и вы хотели его обернуть в классе TcpClient более высокого уровня, возможно ли это и как вы это сделаете?

И наоборот, если у вас есть экземпляр TcpClient, возможно ли получить базовый Socket?

4b9b3361

Ответ 1

Если у вас был экземпляр Socket, и вы хотел обернуть его на более высоком уровне TcpClient, это возможно и как бы вы это сделали?

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

И наоборот, если у вас есть экземпляр TcpClient, можно ли получить лежащий в основе Socket?

Получить базовый Socket, используя TcpClient.Client свойство.

Ответ 2

От TcpClient до Socket очень просто. tcpClientInstance.Client является базовым экземпляром Socket.