|
Dreamine.Communication.Sockets 1.0.2
Dreamine.Communication.Sockets 통신 기능과 관련 API를 제공합니다.
|


Public 멤버 함수 | |
| UdpTransport (UdpTransportOptions options) | |
| UdpTransport (UdpTransportOptions options, IMessageProtocolAdapter protocolAdapter) | |
| Task | ConnectAsync (CancellationToken cancellationToken=default) |
| async Task | DisconnectAsync (CancellationToken cancellationToken=default) |
| async Task | SendAsync (MessageEnvelope message, CancellationToken cancellationToken=default) |
| async ValueTask | DisposeAsync () |
속성 | |
| ConnectionState | State [get] |
| TransportKind | Kind [get] |
이벤트 | |
| EventHandler< MessageEnvelope >? | MessageReceived |
Private 멤버 함수 | |
| async Task | ReceiveLoopAsync (CancellationToken cancellationToken) |
| void | SetState (ConnectionState state) |
정적 Private 멤버 함수 | |
| static void | ValidateOptions (UdpTransportOptions options) |
| static void | ValidatePort (int port, string parameterName) |
Private 속성 | |
| readonly UdpTransportOptions | _options |
| readonly IMessageProtocolAdapter | _protocolAdapter |
| UdpClient? | _client |
| IPEndPoint? | _remoteEndPoint |
| CancellationTokenSource? | _receiveLoopCts |
| Task? | _receiveLoopTask |
| int | _state = (int)ConnectionState.Disconnected |
UDP 데이터그램을 프로토콜 메시지로 변환해 송수신하는 전송 계층입니다.
UDP 데이터그램을 프로토콜 메시지로 변환해 송수신하는 전송 계층입니다.
UdpTransport.cs 파일의 27 번째 라인에서 정의되었습니다.
|
inline |
기본 Dreamine JSON 프로토콜로 UDP 전송 계층을 초기화합니다.
| options | 로컬·원격 엔드포인트와 소켓 설정입니다. |
UdpTransport.cs 파일의 110 번째 라인에서 정의되었습니다.
|
inline |
UDP 설정과 사용자 지정 프로토콜 어댑터로 전송 계층을 초기화합니다.
| options | 로컬·원격 엔드포인트와 소켓 설정입니다. |
| protocolAdapter | 메시지와 데이터그램 페이로드를 변환할 어댑터입니다. |
| ArgumentNullException | options 또는 protocolAdapter 가 null인 경우 발생합니다. |
UdpTransport.cs 파일의 147 번째 라인에서 정의되었습니다.
다음을 참조함 : _options, _protocolAdapter, ValidateOptions().

|
inline |
로컬 엔드포인트에 UDP 소켓을 바인딩하고 백그라운드 수신 루프를 시작합니다.
| cancellationToken | 연결 및 수신 루프 수명과 연결할 취소 토큰입니다. |
UdpTransport.cs 파일의 211 번째 라인에서 정의되었습니다.
다음을 참조함 : _client, _options, _receiveLoopCts, _receiveLoopTask, _remoteEndPoint, ReceiveLoopAsync(), SetState(), State.

|
inline |
UDP 소켓을 닫고 백그라운드 수신 루프를 종료합니다.
| cancellationToken | 정리 후 연결 해제 취소 여부를 확인하는 토큰입니다. |
UdpTransport.cs 파일의 294 번째 라인에서 정의되었습니다.
다음을 참조함 : _client, _receiveLoopCts, _receiveLoopTask, _remoteEndPoint, SetState(), State.
다음에 의해서 참조됨 : DisposeAsync().


|
inline |
UDP 소켓과 수신 루프 리소스를 비동기적으로 해제합니다.
UdpTransport.cs 파일의 421 번째 라인에서 정의되었습니다.
다음을 참조함 : DisconnectAsync().

|
inlineprivate |
데이터그램을 계속 수신해 메시지로 디코딩하고 수신 이벤트를 발생시킵니다.
| cancellationToken | 수신 루프 종료 토큰입니다. |
UdpTransport.cs 파일의 450 번째 라인에서 정의되었습니다.
다음을 참조함 : _client, _protocolAdapter, MessageReceived, SetState(), State.
다음에 의해서 참조됨 : ConnectAsync().


|
inline |
메시지를 프로토콜 페이로드로 인코딩해 구성된 원격 UDP 엔드포인트로 전송합니다.
| message | 전송할 메시지입니다. |
| cancellationToken | 데이터그램 송신 취소 요청을 감시하는 토큰입니다. |
| ArgumentNullException | 메시지가 null인 경우 발생합니다. |
| InvalidOperationException | UDP 전송 계층이 연결되지 않은 경우 발생합니다. |
UdpTransport.cs 파일의 384 번째 라인에서 정의되었습니다.
다음을 참조함 : _client, _protocolAdapter, _remoteEndPoint, State.
|
inlineprivate |
원자적 연산으로 현재 UDP 상태를 설정합니다.
| state | 저장할 새 상태입니다. |
UdpTransport.cs 파일의 591 번째 라인에서 정의되었습니다.
다음을 참조함 : _state.
다음에 의해서 참조됨 : ConnectAsync(), DisconnectAsync(), ReceiveLoopAsync().

|
inlinestaticprivate |
UDP 호스트, 포트 및 버퍼 설정을 검증합니다.
| options | 검증할 UDP 설정입니다. |
| ArgumentOutOfRangeException | 수신 또는 송신 버퍼 크기가 0 이하이거나 로컬·원격 포트가 허용 범위를 벗어난 경우 발생합니다. |
UdpTransport.cs 파일의 515 번째 라인에서 정의되었습니다.
다음을 참조함 : Dreamine.Communication.Sockets.Options.UdpTransportOptions.LocalHost, Dreamine.Communication.Sockets.Options.UdpTransportOptions.LocalPort, Dreamine.Communication.Sockets.Options.UdpTransportOptions.ReceiveBufferSize, Dreamine.Communication.Sockets.Options.UdpTransportOptions.RemoteHost, Dreamine.Communication.Sockets.Options.UdpTransportOptions.RemotePort, Dreamine.Communication.Sockets.Options.UdpTransportOptions.SendBufferSize, ValidatePort().
다음에 의해서 참조됨 : UdpTransport().


|
inlinestaticprivate |
UDP 포트가 유효한 사용자 포트 범위인지 검증합니다.
| port | 검증할 포트 번호입니다. |
| parameterName | 예외에 사용할 설정 이름입니다. |
| ArgumentOutOfRangeException | 포트가 1~65535 범위를 벗어난 경우 발생합니다. |
UdpTransport.cs 파일의 567 번째 라인에서 정의되었습니다.
다음에 의해서 참조됨 : ValidateOptions().

|
private |
client 값을 보관합니다.
UdpTransport.cs 파일의 56 번째 라인에서 정의되었습니다.
다음에 의해서 참조됨 : ConnectAsync(), DisconnectAsync(), ReceiveLoopAsync(), SendAsync().
|
private |
options 값을 보관합니다.
UdpTransport.cs 파일의 37 번째 라인에서 정의되었습니다.
다음에 의해서 참조됨 : ConnectAsync(), UdpTransport().
|
private |
protocol Adapter 값을 보관합니다.
UdpTransport.cs 파일의 46 번째 라인에서 정의되었습니다.
다음에 의해서 참조됨 : ReceiveLoopAsync(), SendAsync(), UdpTransport().
|
private |
receive Loop Cts 값을 보관합니다.
UdpTransport.cs 파일의 74 번째 라인에서 정의되었습니다.
다음에 의해서 참조됨 : ConnectAsync(), DisconnectAsync().
|
private |
receive Loop Task 값을 보관합니다.
UdpTransport.cs 파일의 83 번째 라인에서 정의되었습니다.
다음에 의해서 참조됨 : ConnectAsync(), DisconnectAsync().
|
private |
remote End Point 값을 보관합니다.
UdpTransport.cs 파일의 65 번째 라인에서 정의되었습니다.
다음에 의해서 참조됨 : ConnectAsync(), DisconnectAsync(), SendAsync().
|
private |
|
get |
UDP 전송 방식을 가져옵니다.
UdpTransport.cs 파일의 175 번째 라인에서 정의되었습니다.
|
get |
스레드 안전하게 현재 UDP 소켓 상태를 가져옵니다.
UdpTransport.cs 파일의 165 번째 라인에서 정의되었습니다.
다음에 의해서 참조됨 : ConnectAsync(), DisconnectAsync(), ReceiveLoopAsync(), SendAsync().
| EventHandler<MessageEnvelope>? Dreamine.Communication.Sockets.Udp.UdpTransport.MessageReceived |
수신 데이터그램을 메시지로 디코딩했을 때 발생합니다.
UdpTransport.cs 파일의 185 번째 라인에서 정의되었습니다.
다음에 의해서 참조됨 : ReceiveLoopAsync().