在c#中获取套接字对象的流

时间:2012-05-09 15:27:47

标签: c# sockets stream

我有一个客户端 - 服务器应用程序,它通过TCP / IP进行通信 我使用System.Net.Sockets.Socket类型对象进行TCP上的ascnyronous通信。基本上我打开连接发送/接收数据并关闭连接。我的实现基于Socket类型的对象 现在我需要使用第三方dll来做某事。这个dll需要一个System.IO.Stream类型的对象。所以我需要获取 Socket 对象的 Stream 对象。
我怎么能这样做? 谢谢。

2 个答案:

答案 0 :(得分:17)

非常简单。 NetworkStream类的构造函数接受要包装的套接字:

http://msdn.microsoft.com/en-us/library/system.net.sockets.networkstream.aspx

// NOTE: This demonstrates disposal of the stream when you are 
// done with it- you may not want that behavior.
using (var myStream = new NetworkStream(mySocket)) {
    my3rdPartyObject.Foo(myStream);
}

答案 1 :(得分:1)

尝试查看System.Net.Sockets.SocketType.Stream?

或者尝试查看System.Net.Sockets.NetworkStream?

http://msdn.microsoft.com/en-us/library/system.net.sockets.networkstream.aspx