点击或拖拽改变大小

NetSupportWriteStreamFromSocket 方法

从socket套接字读取数据并写入流中,必然报告进度

命名空间:  HslCommunication.Core
程序集:  HslCommunication (在 HslCommunication.dll 中) 版本:8.2.1.0 (8.2.1.0)
语法
public static void WriteStreamFromSocket(
	Socket socket,
	Stream stream,
	long receive,
	Action<long, long> report,
	bool reportByPercent
)

参数

socket
类型:System.Net.SocketsSocket
通信对象
stream
类型:System.IOStream
stream
receive
类型:SystemInt64
接收的长度
report
类型:SystemActionInt64, Int64
用于报告接收进度的对象
reportByPercent
类型:SystemBoolean
是否按照百分比报告进度
异常
异常条件
ArgumentNullException
SocketException
ObjectDisposedException
SecurityException
示例
举例从socket读取数据,然后写入到文件流中
WriteStreamFromSocket示例
// 创建socket
Socket socket = new Socket( AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp );
socket.Connect( IPAddress.Parse( "192.168.0.7" ), 1000 );

// 准备接收指定长度的数据,假设为1234567个长度,然后输出进度
Action<long, long> report = ( long rece, long totle ) =>
{
    Console.WriteLine( "总数据量:" + totle + "  当前接收字节数:" + rece );
};

// 获取文件流
Stream stream = new FileStream( "D:\\123.txt", FileMode.Create );
NetSupport.WriteStreamFromSocket( socket, stream, 1234567, report, false );
stream.Dispose( );
socket.Close( );

// 上述的代码是从套接字接收了1234567长度的字节,然后写入到了文件中
参见