NetworkBaseReceiveMqttStreamAsync 方法 |
使用MQTT协议从socket接收指定长度的字节数组,然后全部写入到流中,可以指定进度报告
Use the MQTT protocol to receive a byte array of specified length from the socket, and then write all of them to the stream, and you can specify a progress report
命名空间:
HslCommunication.Core.Net
程序集:
HslCommunication (在 HslCommunication.dll 中) 版本:12.1.2.0 (12.1.2.0)
语法 protected Task<OperateResult> ReceiveMqttStreamAsync(
Socket socket,
Stream stream,
long fileSize,
int timeOut,
Action<long, long> reportProgress = null,
AesCryptography aesCryptography = null,
HslCancelToken cancelToken = null
)
Protected Function ReceiveMqttStreamAsync (
socket As Socket,
stream As Stream,
fileSize As Long,
timeOut As Integer,
Optional reportProgress As Action(Of Long, Long) = Nothing,
Optional aesCryptography As AesCryptography = Nothing,
Optional cancelToken As HslCancelToken = Nothing
) As Task(Of OperateResult)
protected:
Task<OperateResult^>^ ReceiveMqttStreamAsync(
Socket^ socket,
Stream^ stream,
long long fileSize,
int timeOut,
Action<long long, long long>^ reportProgress = nullptr,
AesCryptography^ aesCryptography = nullptr,
HslCancelToken^ cancelToken = nullptr
)
member ReceiveMqttStreamAsync :
socket : Socket *
stream : Stream *
fileSize : int64 *
timeOut : int *
?reportProgress : Action<int64, int64> *
?aesCryptography : AesCryptography *
?cancelToken : HslCancelToken
(* Defaults:
let _reportProgress = defaultArg reportProgress null
let _aesCryptography = defaultArg aesCryptography null
let _cancelToken = defaultArg cancelToken null
*)
-> Task<OperateResult>
参数
- socket
- 类型:System.Net.SocketsSocket
网络套接字 - stream
- 类型:System.IOStream
数据流 - fileSize
- 类型:SystemInt64
数据大小 - timeOut
- 类型:SystemInt32
超时时间 - reportProgress (Optional)
- 类型:SystemActionInt64, Int64
进度报告,第一个参数是已完成的字节数量,第二个参数是总字节数量。 - aesCryptography (Optional)
- 类型:HslCommunication.Core.SecurityAesCryptography
AES数据加密对象,如果为空,则不进行加密 - cancelToken (Optional)
- 类型:HslCommunication.CoreHslCancelToken
取消的令牌操作信息
返回值
类型:
TaskOperateResult是否操作成功
参见