【问题标题】:Is it possible to convert between Socket and TcpClient objects?是否可以在 Socket 和 TcpClient 对象之间进行转换?
【发布时间】:2010-09-17 05:14:18
【问题描述】:
这是另一个 C#/.NET 问题,仅基于好奇心而不是直接需要 ...
如果您有一个 Socket 实例,并且您想将它包装在更高级别的 TcpClient 类中,这可能吗?您会怎么做?
反之,如果你有TcpClient的实例,是否有可能得到底层的Socket?
【问题讨论】:
标签:
c#
.net
sockets
tcpclient
system.net
【解决方案1】:
如果你有一个 Socket 实例并且你
想把它包装在更高级别
TcpClient 类,这可能吗?
你会怎么做?
Socket socket = ...;
TcpClient client = new TcpClient();
client.Client = socket;
相反,如果你有一个实例
TcpClient,是否有可能获得
底层 Socket?
使用TcpClient.Client 属性获取底层Socket。
【解决方案2】:
从 TcpClient 到 Socket 非常简单。 tcpClientInstance.Client 是底层 Socket 实例。