Bagikan melalui


AsynchronousSocketChannel Kelas

Definisi

Saluran asinkron untuk soket penghubung berorientasi aliran.

[Android.Runtime.Register("java/nio/channels/AsynchronousSocketChannel", ApiSince=26, DoNotGenerateAcw=true)]
public abstract class AsynchronousSocketChannel : Java.Lang.Object, IDisposable, Java.Interop.IJavaPeerable, Java.Nio.Channels.IAsynchronousByteChannel
[<Android.Runtime.Register("java/nio/channels/AsynchronousSocketChannel", ApiSince=26, DoNotGenerateAcw=true)>]
type AsynchronousSocketChannel = class
    inherit Object
    interface IAsynchronousByteChannel
    interface IAsynchronousChannel
    interface IChannel
    interface ICloseable
    interface IJavaObject
    interface IDisposable
    interface IJavaPeerable
Warisan
AsynchronousSocketChannel
Atribut
Penerapan

Keterangan

Saluran asinkron untuk soket penghubung berorientasi aliran.

Saluran soket asinkron dibuat dengan salah satu dari dua cara. Yang baru dibuat AsynchronousSocketChannel dibuat dibuat dengan memanggil salah satu metode yang #open open ditentukan oleh kelas ini. Saluran yang baru dibuat terbuka tetapi belum tersambung. AsynchronousSocketChannel Koneksi dibuat saat koneksi dibuat ke soket AsynchronousServerSocketChannel. Tidak dimungkinkan untuk membuat saluran soket asinkron untuk saluran soket arbitrer yang sudah ada java.net.Socket socketsebelumnya.

Saluran yang baru dibuat terhubung dengan memanggil metodenya #connect connect ; setelah terhubung, saluran tetap terhubung hingga ditutup. Apakah saluran soket tersambung atau tidak dapat ditentukan dengan memanggil metodenya #getRemoteAddress getRemoteAddress . Upaya untuk memanggil operasi I/O pada saluran yang tidak terhubung akan menyebabkan NotYetConnectedException dilemparkan.

Saluran jenis ini aman untuk digunakan oleh beberapa utas bersamaan. Mereka mendukung pembacaan dan penulisan bersamaan, meskipun paling banyak satu operasi baca dan satu operasi tulis dapat luar biasa kapan saja. Jika utas memulai operasi baca sebelum operasi baca sebelumnya selesai, maka ReadPendingException akan dilemparkan. Demikian pula, upaya untuk memulai operasi tulis sebelum penulisan sebelumnya selesai akan melemparkan WritePendingException.

Opsi soket dikonfigurasi menggunakan #setOption(SocketOption,Object) setOption metode . Saluran soket asinkron mendukung opsi berikut: <blockquote><table class="striped"><caption style="display:none">Socket options</caption<>thead<>tr><th scope="col">Option Name</th<>scope="col">Description</th></tr<>/thead><tbody<>tr><th scope="row"<java.net.StandardSocketOptions#SO_SNDBUF SO_SNDBUF>/th><td> Ukuran soket kirim buffer </td></tr tr><><th scope="row"<>java.net.StandardSocketOptions#SO_RCVBUF SO_RCVBUF/th><td> Ukuran soket menerima buffer </td></tr tr<><>th scope="row"<java.net.StandardSocketOptions#SO_KEEPALIVE SO_KEEPALIVE>/th><td> Keep connection alive </td<>/tr tr<><>th scope="row"java.net.StandardSocketOptions#SO_REUSEADDR SO_REUSEADDR></th<>td> Gunakan ulang alamat </td<>/tr tr<>><th scope="row">java.net.StandardSocketOptions#TCP_NODELAY TCP_NODELAY</th><td> Nonaktifkan algoritma <Nagle /td></tr<>/tbody<>/table></blockquote> Opsi tambahan (spesifik implementasi) juga dapat didukung.

<h2>Batas Waktu</h2>

Metode #read(ByteBuffer,long,TimeUnit,Object,CompletionHandler) read dan #write(ByteBuffer,long,TimeUnit,Object,CompletionHandler) write yang ditentukan oleh kelas ini memungkinkan batas waktu ditentukan saat memulai operasi baca atau tulis. Jika batas waktu berlalu sebelum operasi selesai, maka operasi selesai dengan pengecualian InterruptedByTimeoutException. Batas waktu dapat meninggalkan saluran, atau koneksi yang mendasar, dalam keadaan tidak konsisten. Ketika implementasi tidak dapat menjamin bahwa byte belum dibaca dari saluran maka itu menempatkan saluran ke dalam status kesalahan< em>spesifik <implementasi/ em>. Upaya berikutnya untuk memulai read operasi menyebabkan pengecualian runtime yang tidak ditentukan dilemparkan. Demikian pula jika write waktu operasi habis dan implementasi tidak dapat menjamin byte belum ditulis ke saluran, maka upaya lebih lanjut ke write saluran menyebabkan pengecualian runtime yang tidak ditentukan dilemparkan. Ketika batas waktu berlalu maka status ByteBuffer, atau urutan buffer, untuk operasi I/O tidak ditentukan. Buffer harus dibuang atau setidaknya perawatan harus dilakukan untuk memastikan bahwa buffer tidak diakses saat saluran tetap terbuka. Semua metode yang menerima parameter batas waktu memperlakukan nilai kurang dari atau sama dengan nol berarti bahwa operasi I/O tidak batas waktu.

Ditambahkan dalam 1.7.

Dokumentasi Java untuk java.nio.channels.AsynchronousSocketChannel.

Bagian halaman ini adalah modifikasi berdasarkan pekerjaan yang dibuat dan dibagikan oleh Proyek Sumber Terbuka Android dan digunakan sesuai dengan istilah yang dijelaskan dalam Lisensi Atribusi Creative Commons 2.5.

Konstruktor

AsynchronousSocketChannel(AsynchronousChannelProvider)

Menginisialisasi instans baru kelas ini.

AsynchronousSocketChannel(IntPtr, JniHandleOwnership)

Saluran asinkron untuk soket penghubung berorientasi aliran.

Properti

Class

Mengembalikan kelas runtime dari .Object

(Diperoleh dari Object)
Handle

Handel ke instans Android yang mendasar.

(Diperoleh dari Object)
IsOpen

Saluran asinkron untuk soket penghubung berorientasi aliran.

JniIdentityHashCode

Saluran asinkron untuk soket penghubung berorientasi aliran.

(Diperoleh dari Object)
JniPeerMembers

Saluran asinkron untuk soket penghubung berorientasi aliran.

LocalAddress

Saluran asinkron untuk soket penghubung berorientasi aliran.

PeerReference

Saluran asinkron untuk soket penghubung berorientasi aliran.

(Diperoleh dari Object)
RemoteAddress

Saluran asinkron untuk soket penghubung berorientasi aliran.

ThresholdClass

Saluran asinkron untuk soket penghubung berorientasi aliran.

ThresholdType

Saluran asinkron untuk soket penghubung berorientasi aliran.

Metode

Bind(SocketAddress)

Saluran asinkron untuk soket penghubung berorientasi aliran.

Clone()

Membuat dan mengembalikan salinan objek ini.

(Diperoleh dari Object)
Close()

Menutup saluran ini.

Connect(SocketAddress, Object, ICompletionHandler)

Menyambungkan saluran ini.

Connect(SocketAddress)

Menyambungkan saluran ini.

Dispose()

Saluran asinkron untuk soket penghubung berorientasi aliran.

(Diperoleh dari Object)
Dispose(Boolean)

Saluran asinkron untuk soket penghubung berorientasi aliran.

(Diperoleh dari Object)
Equals(Object)

Menunjukkan apakah beberapa objek lain "sama dengan" yang satu ini.

(Diperoleh dari Object)
GetHashCode()

Mengembalikan nilai kode hash untuk objek .

(Diperoleh dari Object)
JavaFinalize()

Dipanggil oleh pengumpul sampah pada objek ketika pengumpulan sampah menentukan bahwa tidak ada lagi referensi ke objek.

(Diperoleh dari Object)
Notify()

Membangunkan satu utas yang menunggu monitor objek ini.

(Diperoleh dari Object)
NotifyAll()

Membangunkan semua utas yang menunggu monitor objek ini.

(Diperoleh dari Object)
Open()

Membuka saluran soket asinkron.

Open(AsynchronousChannelGroup)

Membuka saluran soket asinkron.

Provider()

Mengembalikan penyedia yang membuat saluran ini.

Read(ByteBuffer, Int64, TimeUnit, Object, ICompletionHandler)

Membaca urutan byte dari saluran ini ke dalam buffer yang diberikan.

Read(ByteBuffer, Object, ICompletionHandler)

Saluran asinkron untuk soket penghubung berorientasi aliran.

Read(ByteBuffer)

Saluran asinkron untuk soket penghubung berorientasi aliran.

Read(ByteBuffer[], Int32, Int32, Int64, TimeUnit, Object, ICompletionHandler)

Membaca urutan byte dari saluran ini ke dalam urutan berikutnya dari buffer yang diberikan.

SetHandle(IntPtr, JniHandleOwnership)

Handle Mengatur properti.

(Diperoleh dari Object)
SetOption(ISocketOption, Object)

Saluran asinkron untuk soket penghubung berorientasi aliran.

ShutdownInput()

Matikan koneksi untuk membaca tanpa menutup saluran.

ShutdownOutput()

Matikan koneksi untuk menulis tanpa menutup saluran.

ToArray<T>()

Saluran asinkron untuk soket penghubung berorientasi aliran.

(Diperoleh dari Object)
ToString()

Mengembalikan representasi string objek.

(Diperoleh dari Object)
UnregisterFromRuntime()

Saluran asinkron untuk soket penghubung berorientasi aliran.

(Diperoleh dari Object)
Wait()

Menyebabkan utas saat ini menunggu sampai terbangun, biasanya dengan <diberitahu></em> atau <em>terganggu</em>.

(Diperoleh dari Object)
Wait(Int64, Int32)

Menyebabkan utas saat ini menunggu sampai terbangun, biasanya dengan <>diberitahu</em> atau <em>terganggu</em>, atau sampai sejumlah real time telah berlalu.

(Diperoleh dari Object)
Wait(Int64)

Menyebabkan utas saat ini menunggu sampai terbangun, biasanya dengan <>diberitahu</em> atau <em>terganggu</em>, atau sampai sejumlah real time telah berlalu.

(Diperoleh dari Object)
Write(ByteBuffer, Int64, TimeUnit, Object, ICompletionHandler)

Menulis urutan byte ke saluran ini dari buffer yang diberikan.

Write(ByteBuffer, Object, ICompletionHandler)

Saluran asinkron untuk soket penghubung berorientasi aliran.

Write(ByteBuffer)

Saluran asinkron untuk soket penghubung berorientasi aliran.

Write(ByteBuffer[], Int32, Int32, Int64, TimeUnit, Object, ICompletionHandler)

Menulis urutan byte ke saluran ini dari berikutnya buffer yang diberikan.

Implementasi Antarmuka Eksplisit

IJavaPeerable.Disposed()

Saluran asinkron untuk soket penghubung berorientasi aliran.

(Diperoleh dari Object)
IJavaPeerable.DisposeUnlessReferenced()

Saluran asinkron untuk soket penghubung berorientasi aliran.

(Diperoleh dari Object)
IJavaPeerable.Finalized()

Saluran asinkron untuk soket penghubung berorientasi aliran.

(Diperoleh dari Object)
IJavaPeerable.JniManagedPeerState

Saluran asinkron untuk soket penghubung berorientasi aliran.

(Diperoleh dari Object)
IJavaPeerable.SetJniIdentityHashCode(Int32)

Saluran asinkron untuk soket penghubung berorientasi aliran.

(Diperoleh dari Object)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

Saluran asinkron untuk soket penghubung berorientasi aliran.

(Diperoleh dari Object)
IJavaPeerable.SetPeerReference(JniObjectReference)

Saluran asinkron untuk soket penghubung berorientasi aliran.

(Diperoleh dari Object)

Metode Ekstensi

JavaCast<TResult>(IJavaObject)

Melakukan konversi jenis yang diperiksa runtime Bahasa Umum Android.

JavaCast<TResult>(IJavaObject)

Saluran asinkron untuk soket penghubung berorientasi aliran.

GetJniTypeName(IJavaPeerable)

Saluran asinkron untuk soket penghubung berorientasi aliran.

Berlaku untuk