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

StackOverflow https://stackoverflow.com/questions/203147

Вопрос

Вот еще один вопрос на C # / .NET, основанный просто на любопытстве, а не на непосредственном потребность ...

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

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

Это было полезно?

Решение

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

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

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

Получите базовый сокет, используя TcpClient.Клиент собственность.

Другие советы

Перейти от TcpClient к сокету очень просто. tcpClientInstance.Client является базовым экземпляром сокета.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top