Возможно ли преобразовать объекты Socket и TcpClient?
Здесь другой вопрос С#/. NET, основанный только на любопытстве больше, чем насущная потребность...
Если у вас был экземпляр Socket
, и вы хотели его обернуть в классе TcpClient
более высокого уровня, возможно ли это и как вы это сделаете?
И наоборот, если у вас есть экземпляр TcpClient
, возможно ли получить базовый Socket
?
Ответы
Ответ 1
Если у вас был экземпляр Socket, и вы хотел обернуть его на более высоком уровне TcpClient, это возможно и как бы вы это сделали?
Socket socket = ...;
TcpClient client = new TcpClient();
client.Client = socket;
И наоборот, если у вас есть экземпляр TcpClient, можно ли получить лежащий в основе Socket?
Получить базовый Socket, используя TcpClient.Client свойство.
Ответ 2
От TcpClient до Socket очень просто. tcpClientInstance.Client
является базовым экземпляром Socket.