IRealtimeClientSession.SendAsync メソッド

定義

クライアント メッセージをセッションに送信します。

public System.Threading.Tasks.Task SendAsync(Microsoft.Extensions.AI.RealtimeClientMessage message, System.Threading.CancellationToken cancellationToken = default);
abstract member SendAsync : Microsoft.Extensions.AI.RealtimeClientMessage * System.Threading.CancellationToken -> System.Threading.Tasks.Task
Public Function SendAsync (message As RealtimeClientMessage, Optional cancellationToken As CancellationToken = Nothing) As Task

パラメーター

message
RealtimeClientMessage

送信するクライアント メッセージ。

cancellationToken
CancellationToken

操作を取り消すトークン。

返品

非同期送信操作を表すタスク。

注釈

このメソッドを使用すると、セッションにクライアント メッセージをいつでも送信できます。このメッセージを使用して、セッションの動作または状態に影響を与えることができます。

プロバイダー実装者のコンカレンシーに関する注意:SendAsync(RealtimeClientMessage, CancellationToken) は、複数のソースから同時に呼び出される場合があります。 たとえば、呼び出し元は 1 つのスレッドで SendAsync(RealtimeClientMessage, CancellationToken) を介してオーディオをストリーミングし、 FunctionInvokingRealtimeClientSession 呼び出しなどのミドルウェア SendAsync(RealtimeClientMessage, CancellationToken) は、別のスレッドの列挙内からツールの結果 GetStreamingResponseAsync(CancellationToken) 返すことができます。 基になるトランスポート (WebSocket など) が同時送信をサポートしていない場合、プロバイダーの実装では、プロトコル違反を防ぐために、たとえば SemaphoreSlim を使用してアクセスをシリアル化する必要があります。

適用対象