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
)
Public Shared Sub WriteStreamFromSocket (
socket As Socket,
stream As Stream,
receive As Long,
report As Action(Of Long, Long),
reportByPercent As Boolean
)
public:
static void WriteStreamFromSocket(
Socket^ socket,
Stream^ stream,
long long receive,
Action<long long, long long>^ report,
bool reportByPercent
)
static member WriteStreamFromSocket :
socket : Socket *
stream : Stream *
receive : int64 *
report : Action<int64, int64> *
reportByPercent : bool -> unit
参数
- socket
- 类型:System.Net.SocketsSocket
通信对象 - stream
- 类型:System.IOStream
stream - receive
- 类型:SystemInt64
接收的长度 - report
- 类型:SystemActionInt64, Int64
用于报告接收进度的对象 - reportByPercent
- 类型:SystemBoolean
是否按照百分比报告进度
异常 异常 | 条件 |
---|
ArgumentNullException | |
SocketException | |
ObjectDisposedException | |
SecurityException | |
示例
举例从socket读取数据,然后写入到文件流中
Socket socket = new Socket( AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp );
socket.Connect( IPAddress.Parse( "192.168.0.7" ), 1000 );
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( );
参见