NetSupportWriteSocketFromStream 方法 |
读取流并将数据写入socket
命名空间:
HslCommunication.Core
程序集:
HslCommunication (在 HslCommunication.dll 中) 版本:8.2.1.0 (8.2.1.0)
语法 public static void WriteSocketFromStream(
Socket socket,
Stream stream,
long length,
Action<long, long> report,
bool reportByPercent
)
Public Shared Sub WriteSocketFromStream (
socket As Socket,
stream As Stream,
length As Long,
report As Action(Of Long, Long),
reportByPercent As Boolean
)
public:
static void WriteSocketFromStream(
Socket^ socket,
Stream^ stream,
long long length,
Action<long long, long long>^ report,
bool reportByPercent
)
static member WriteSocketFromStream :
socket : Socket *
stream : Stream *
length : int64 *
report : Action<int64, int64> *
reportByPercent : bool -> unit
参数
- socket
- 类型:System.Net.SocketsSocket
连接的套接字 - stream
- 类型:System.IOStream
文件流 - length
- 类型:SystemInt64
返回的文件长度 - report
- 类型:SystemActionInt64, Int64
发送的进度报告 - reportByPercent
- 类型:SystemBoolean
是否按照百分比报告进度
异常 异常 | 条件 |
---|
SocketException | |
IOException | |
NotSupportedException | |
ObjectDisposedException | |
示例
举例从文件读取数据,然后写入到套接字中,相当于发送文件到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.Open );
NetSupport.WriteSocketFromStream( socket, stream, 1234567, report, false );
stream.Dispose( );
socket.Close( );
参见