AsynchronousSocketChannel.Read 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
오버로드
Read(ByteBuffer[], Int32, Int32, Int64, TimeUnit, Object, ICompletionHandler) |
이 채널에서 지정된 버퍼의 하위 시퀀스로 바이트 시퀀스를 읽습니다. |
Read(ByteBuffer, Int64, TimeUnit, Object, ICompletionHandler) |
이 채널에서 지정된 버퍼로 바이트 시퀀스를 읽습니다. |
Read(ByteBuffer) | |
Read(ByteBuffer, Object, ICompletionHandler) |
Read(ByteBuffer[], Int32, Int32, Int64, TimeUnit, Object, ICompletionHandler)
이 채널에서 지정된 버퍼의 하위 시퀀스로 바이트 시퀀스를 읽습니다.
[Android.Runtime.Register("read", "([Ljava/nio/ByteBuffer;IIJLjava/util/concurrent/TimeUnit;Ljava/lang/Object;Ljava/nio/channels/CompletionHandler;)V", "GetRead_arrayLjava_nio_ByteBuffer_IIJLjava_util_concurrent_TimeUnit_Ljava_lang_Object_Ljava_nio_channels_CompletionHandler_Handler", ApiSince=26)]
[Java.Interop.JavaTypeParameters(new System.String[] { "A" })]
public abstract void Read (Java.Nio.ByteBuffer[]? dsts, int offset, int length, long timeout, Java.Util.Concurrent.TimeUnit? unit, Java.Lang.Object? attachment, Java.Nio.Channels.ICompletionHandler? handler);
[<Android.Runtime.Register("read", "([Ljava/nio/ByteBuffer;IIJLjava/util/concurrent/TimeUnit;Ljava/lang/Object;Ljava/nio/channels/CompletionHandler;)V", "GetRead_arrayLjava_nio_ByteBuffer_IIJLjava_util_concurrent_TimeUnit_Ljava_lang_Object_Ljava_nio_channels_CompletionHandler_Handler", ApiSince=26)>]
[<Java.Interop.JavaTypeParameters(new System.String[] { "A" })>]
abstract member Read : Java.Nio.ByteBuffer[] * int * int * int64 * Java.Util.Concurrent.TimeUnit * Java.Lang.Object * Java.Nio.Channels.ICompletionHandler -> unit
매개 변수
- dsts
- ByteBuffer[]
바이트를 전송할 버퍼
- offset
- Int32
바이트를 전송할 첫 번째 버퍼의 버퍼 배열 내 오프셋입니다. 은 음수가 아니어야 하며 다음보다 크지 않아야 합니다. dsts.length
- length
- Int32
액세스할 최대 버퍼 수입니다. 은 음수가 아니어야 하며 다음보다 크지 않아야 합니다. dsts.length - offset
- timeout
- Int64
I/O 작업이 완료할 최대 시간
- unit
- TimeUnit
인수의 시간 단위입니다 timeout
.
- attachment
- Object
I/O 작업에 연결할 개체입니다. 가 될 수 있습니다. null
- handler
- ICompletionHandler
결과를 소비하기 위한 처리기입니다.
- 특성
설명
이 채널에서 지정된 버퍼의 하위 시퀀스로 바이트 시퀀스를 읽습니다. em 산란 읽기</em>이라고<>도 하는 이 작업은 하나 이상의 고정 길이 헤더와 가변 길이 본문으로 구성된 세그먼트로 데이터를 그룹화하는 네트워크 프로토콜을 구현할 때 유용합니다. 매개 변수는 handler
읽기 작업이 완료되거나 실패할 때 호출되는 완료 처리기입니다. 완료 처리기에 전달된 결과는 읽은 바이트 수이거나 -1
채널이 스트림 끝에 도달했기 때문에 바이트를 읽을 수 없는 경우입니다.
이 메서드는 이 채널에서 최대 r 바이트의 읽기를 시작합니다. 여기서 r은 지정된 버퍼 배열의 지정된 하위 시퀀스에 남아 있는 총 바이트 수입니다.
<blockquote>
dsts[offset].remaining()
+ dsts[offset+1].remaining()
+ ... + dsts[offset+length-1].remaining()
</blockquote>
읽기가 시도되는 순간입니다.
길이 n 의 바이트 시퀀스가 읽혀진 경우 0
여기서 <
n <=
r. 이 시퀀스의 첫 번째 dsts[offset].remaining()
바이트까지 버퍼로 전송되고, 전체 바이트 시퀀스가 지정된 버퍼 dsts[offset]
로 전송될 때까지 최대 다음 dsts[offset+1].remaining()
바이트가 버퍼 dsts[offset+1]
로 전송됩니다. 가능한 한 많은 바이트가 각 버퍼로 전송되므로 마지막 업데이트된 버퍼를 제외한 각 업데이트된 버퍼의 최종 위치는 해당 버퍼의 제한과 같아야 합니다. 기본 운영 체제는 I/O 작업에 사용할 수 있는 버퍼 수에 제한을 적용할 수 있습니다. 버퍼 수(바이트가 남아 있음)가 이 제한을 초과하는 경우 운영 체제에서 허용하는 최대 버퍼 수로 I/O 작업이 수행됩니다.
시간 제한이 지정되고 작업이 완료되기 전에 시간 제한이 경과하면 예외 InterruptedByTimeoutException
로 완료됩니다. 시간 제한이 발생하고 구현에서 바이트를 읽지 않았거나 채널에서 지정된 버퍼로 읽지 않도록 보장할 수 없는 경우 채널에서 읽기를 추가로 시도하면 지정되지 않은 런타임 예외가 throw됩니다.
이 페이지의 일부는 Android 오픈 소스 프로젝트에서 만들고 공유하고 Creative Commons 2.5 특성 라이선스에 설명된 용어에 따라 사용되는 작업을 기반으로 하는 수정 사항입니다.
적용 대상
Read(ByteBuffer, Int64, TimeUnit, Object, ICompletionHandler)
이 채널에서 지정된 버퍼로 바이트 시퀀스를 읽습니다.
[Android.Runtime.Register("read", "(Ljava/nio/ByteBuffer;JLjava/util/concurrent/TimeUnit;Ljava/lang/Object;Ljava/nio/channels/CompletionHandler;)V", "GetRead_Ljava_nio_ByteBuffer_JLjava_util_concurrent_TimeUnit_Ljava_lang_Object_Ljava_nio_channels_CompletionHandler_Handler", ApiSince=26)]
[Java.Interop.JavaTypeParameters(new System.String[] { "A" })]
public abstract void Read (Java.Nio.ByteBuffer? dst, long timeout, Java.Util.Concurrent.TimeUnit? unit, Java.Lang.Object? attachment, Java.Nio.Channels.ICompletionHandler? handler);
[<Android.Runtime.Register("read", "(Ljava/nio/ByteBuffer;JLjava/util/concurrent/TimeUnit;Ljava/lang/Object;Ljava/nio/channels/CompletionHandler;)V", "GetRead_Ljava_nio_ByteBuffer_JLjava_util_concurrent_TimeUnit_Ljava_lang_Object_Ljava_nio_channels_CompletionHandler_Handler", ApiSince=26)>]
[<Java.Interop.JavaTypeParameters(new System.String[] { "A" })>]
abstract member Read : Java.Nio.ByteBuffer * int64 * Java.Util.Concurrent.TimeUnit * Java.Lang.Object * Java.Nio.Channels.ICompletionHandler -> unit
매개 변수
- dst
- ByteBuffer
바이트를 전송할 버퍼입니다.
- timeout
- Int64
I/O 작업이 완료할 최대 시간
- unit
- TimeUnit
인수의 시간 단위입니다 timeout
.
- attachment
- Object
I/O 작업에 연결할 개체입니다. 가 될 수 있습니다. null
- handler
- ICompletionHandler
결과를 소비하기 위한 처리기입니다.
- 특성
설명
이 채널에서 지정된 버퍼로 바이트 시퀀스를 읽습니다.
이 메서드는 비동기 읽기 작업을 시작하여 이 채널에서 지정된 버퍼로 바이트 시퀀스를 읽습니다. 매개 변수는 handler
읽기 작업이 완료되거나 실패할 때 호출되는 완료 처리기입니다. 완료 처리기에 전달된 결과는 읽은 바이트 수이거나 -1
채널이 스트림 끝에 도달했기 때문에 바이트를 읽을 수 없는 경우입니다.
시간 제한이 지정되고 작업이 완료되기 전에 시간 제한이 경과하면 예외 InterruptedByTimeoutException
를 제외하고 작업이 완료됩니다. 시간 제한이 발생하고 구현에서 바이트가 읽혀지지 않았거나 채널에서 지정된 버퍼로 읽지 않도록 보장할 수 없는 경우 채널에서 읽기를 추가로 시도하면 지정되지 않은 런타임 예외가 throw됩니다.
그렇지 않으면 이 메서드는 메서드와 동일한 방식으로 작동합니다 AsynchronousByteChannel#read(ByteBuffer,Object,CompletionHandler)
.
이 페이지의 일부는 Android 오픈 소스 프로젝트에서 만들고 공유하고 Creative Commons 2.5 특성 라이선스에 설명된 용어에 따라 사용되는 작업을 기반으로 하는 수정 사항입니다.
적용 대상
Read(ByteBuffer)
[Android.Runtime.Register("read", "(Ljava/nio/ByteBuffer;)Ljava/util/concurrent/Future;", "GetRead_Ljava_nio_ByteBuffer_Handler", ApiSince=26)]
public abstract Java.Util.Concurrent.IFuture? Read (Java.Nio.ByteBuffer? dst);
[<Android.Runtime.Register("read", "(Ljava/nio/ByteBuffer;)Ljava/util/concurrent/Future;", "GetRead_Ljava_nio_ByteBuffer_Handler", ApiSince=26)>]
abstract member Read : Java.Nio.ByteBuffer -> Java.Util.Concurrent.IFuture
매개 변수
- dst
- ByteBuffer
반환
구현
- 특성
설명
에 대한 java.nio.channels.AsynchronousSocketChannel.read(java.nio.ByteBuffer)
Java 설명서
이 페이지의 일부는 Android 오픈 소스 프로젝트에서 만들고 공유하고 Creative Commons 2.5 특성 라이선스에 설명된 용어에 따라 사용되는 작업을 기반으로 하는 수정 사항입니다.
적용 대상
Read(ByteBuffer, Object, ICompletionHandler)
[Android.Runtime.Register("read", "(Ljava/nio/ByteBuffer;Ljava/lang/Object;Ljava/nio/channels/CompletionHandler;)V", "", ApiSince=26)]
[Java.Interop.JavaTypeParameters(new System.String[] { "A" })]
public void Read (Java.Nio.ByteBuffer? dst, Java.Lang.Object? attachment, Java.Nio.Channels.ICompletionHandler? handler);
[<Android.Runtime.Register("read", "(Ljava/nio/ByteBuffer;Ljava/lang/Object;Ljava/nio/channels/CompletionHandler;)V", "", ApiSince=26)>]
[<Java.Interop.JavaTypeParameters(new System.String[] { "A" })>]
abstract member Read : Java.Nio.ByteBuffer * Java.Lang.Object * Java.Nio.Channels.ICompletionHandler -> unit
override this.Read : Java.Nio.ByteBuffer * Java.Lang.Object * Java.Nio.Channels.ICompletionHandler -> unit
매개 변수
- dst
- ByteBuffer
- attachment
- Object
- handler
- ICompletionHandler
구현
- 특성
설명
이 페이지의 일부는 Android 오픈 소스 프로젝트에서 만들고 공유하고 Creative Commons 2.5 특성 라이선스에 설명된 용어에 따라 사용되는 작업을 기반으로 하는 수정 사항입니다.