/// <summary> /// 向服务端发送消息 /// </summary> /// <remarks> /// 框架层使用的 /// </remarks> internal async Task WriteMessageAsync(IpcBufferMessageContext ipcBufferMessageContext) { await DoubleBufferTask.AddTaskAsync(WriteMessageAsyncInner); async Task WriteMessageAsyncInner() { await IpcMessageConverter.WriteAsync ( NamedPipeClientStream, IpcConfiguration.MessageHeader, AckManager.GetAck(), ipcBufferMessageContext, Logger ); await NamedPipeClientStream.FlushAsync(); } }
/// <summary> /// 向服务端发送消息 /// </summary> /// <param name="buffer"></param> /// <param name="offset"></param> /// <param name="count"></param> /// <param name="summary">这一次写入的是什么内容,用于调试</param> /// <returns></returns> /// <remarks> /// 业务层使用的 /// </remarks> public async Task WriteMessageAsync(byte[] buffer, int offset, int count, [CallerMemberName] string summary = null !) { await DoubleBufferTask.AddTaskAsync(WriteMessageAsyncInner); async Task WriteMessageAsyncInner() { await IpcMessageConverter.WriteAsync ( NamedPipeClientStream, IpcConfiguration.MessageHeader, AckManager.GetAck(), // 表示这是业务层的消息 IpcMessageCommandType.Business, buffer, offset, count, summary, Logger ); await NamedPipeClientStream.FlushAsync(); } }