SocketChannel Kelas

Definisi

Saluran yang dapat dipilih untuk soket penghubung berorientasi aliran.

[Android.Runtime.Register("java/nio/channels/SocketChannel", DoNotGenerateAcw=true)]
public abstract class SocketChannel : Java.Nio.Channels.Spi.AbstractSelectableChannel, IDisposable, Java.Nio.Channels.IByteChannel, Java.Nio.Channels.IGatheringByteChannel, Java.Nio.Channels.IScatteringByteChannel
[<Android.Runtime.Register("java/nio/channels/SocketChannel", DoNotGenerateAcw=true)>]
type SocketChannel = class
    inherit AbstractSelectableChannel
    interface IByteChannel
    interface IReadableByteChannel
    interface IChannel
    interface ICloseable
    interface IJavaObject
    interface IDisposable
    interface IJavaPeerable
    interface IWritableByteChannel
    interface IGatheringByteChannel
    interface IScatteringByteChannel
Warisan
Atribut
Penerapan

Keterangan

Saluran yang dapat dipilih untuk soket penghubung berorientasi aliran.

Saluran soket dibuat dengan memanggil salah #open open satu metode kelas ini. Tidak dimungkinkan untuk membuat saluran untuk soket yang sudah ada sebelumnya. Saluran soket yang baru dibuat terbuka tetapi belum tersambung. Upaya untuk memanggil operasi I/O pada saluran yang tidak terhubung akan menyebabkan NotYetConnectedException dilemparkan. Saluran soket dapat dihubungkan dengan memanggil metodenya #connect connect ; setelah terhubung, saluran soket tetap terhubung sampai ditutup. Apakah saluran soket tersambung atau tidak dapat ditentukan dengan memanggil metodenya #isConnected isConnected .

Saluran soket mendukung koneksi non-pemblokiran:  Saluran soket dapat dibuat dan proses pembuatan tautan ke soket jarak jauh dapat dimulai melalui #connect connect metode untuk penyelesaian nanti dengan #finishConnect finishConnect metode . Apakah operasi koneksi sedang berlangsung atau tidak dapat ditentukan dengan memanggil #isConnectionPending isConnectionPending metode .

Saluran soket mendukung pematian asinkron, yang mirip dengan operasi penutupan asinkron yang ditentukan di Channel kelas . Jika sisi input soket dimatikan oleh satu utas sementara utas lain diblokir dalam operasi baca di saluran soket, maka operasi baca di utas yang diblokir akan selesai tanpa membaca byte apa pun dan akan mengembalikan -1. Jika sisi output soket dimatikan oleh satu utas sementara utas lain diblokir dalam operasi tulis di saluran soket, maka utas yang diblokir akan menerima AsynchronousCloseException.

Opsi soket dikonfigurasi menggunakan #setOption(SocketOption,Object) setOption metode . Saluran soket 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 buffer <kirim soket /tdd></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><><th scope="row">java.net.StandardSocketOptions#SO_LINGER SO_LINGER</th><td> Linger pada tutup jika data ada (jika dikonfigurasi dalam mode pemblokiran saja) </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.

Saluran soket aman untuk digunakan oleh beberapa utas bersamaan. Mereka mendukung pembacaan dan penulisan bersamaan, meskipun paling banyak satu utas mungkin membaca dan paling banyak satu utas mungkin menulis pada waktu tertentu. Metode #connect connect dan #finishConnect finishConnect saling disinkronkan satu sama lain, dan upaya untuk memulai operasi baca atau tulis sementara pemanggilan salah satu metode ini sedang berlangsung akan memblokir sampai pemanggilan selesai.

Ditambahkan dalam 1.4.

Java dokumentasi untuk java.nio.channels.SocketChannel.

Bagian dari halaman ini adalah modifikasi berdasarkan pekerjaan yang dibuat dan dibagikan oleh Android Open Source Project dan digunakan sesuai dengan istilah yang dijelaskan dalam Lisensi Creative Commons 2.5 Lisensi Atribusi.

Konstruktor

Nama Deskripsi
SocketChannel(IntPtr, JniHandleOwnership)

Konstruktor yang digunakan saat membuat representasi terkelola objek JNI; dipanggil oleh runtime.

SocketChannel(SelectorProvider)

Menginisialisasi instans baru kelas ini.

Properti

Nama Deskripsi
Class

Mengembalikan kelas runtime dari .Object

(Diperoleh dari Object)
Handle

Handel ke instans Android yang mendasar.

(Diperoleh dari Object)
IsBlocking

Menunjukkan apakah saluran ini dalam mode pemblokiran.

(Diperoleh dari AbstractSelectableChannel)
IsConnected

Menunjukkan apakah soket saluran ini tersambung.

IsConnectionPending

Menunjukkan apakah soket saluran ini masih mencoba terhubung.

IsOpen

Mengembalikan true jika saluran ini terbuka.

(Diperoleh dari AbstractInterruptibleChannel)
IsRegistered

Menunjukkan apakah saluran ini terdaftar dengan satu atau beberapa pemilih.

(Diperoleh dari AbstractSelectableChannel)
JniIdentityHashCode

Mendapatkan kode hash identitas yang ditetapkan ke Java peer ini oleh runtime interop.

(Diperoleh dari Object)
JniManagedPeerState

Saluran yang dapat dipilih untuk soket penghubung berorientasi aliran.

(Diperoleh dari JavaObject)
JniPeerMembers

Saluran yang dapat dipilih untuk soket penghubung berorientasi aliran.

LocalAddress

Mengembalikan alamat soket tempat soket saluran ini terikat, atau null jika soket tidak terikat.

PeerReference

Mendapatkan referensi objek JNI untuk peer Java ini.

(Diperoleh dari Object)
RemoteAddress

Mengembalikan alamat jarak jauh tempat soket saluran ini tersambung, atau null jika soket tidak tersambung.

ThresholdClass

API ini mendukung infrastruktur Mono untuk Android dan tidak dimaksudkan untuk digunakan langsung dari kode Anda.

ThresholdType

API ini mendukung infrastruktur Mono untuk Android dan tidak dimaksudkan untuk digunakan langsung dari kode Anda.

Metode

Nama Deskripsi
Begin()

Menandai awal operasi I/O yang mungkin memblokir tanpa batas waktu.

(Diperoleh dari AbstractInterruptibleChannel)
Bind(SocketAddress)

Ditambahkan dalam 1.

BlockingLock()

Mendapatkan objek yang digunakan untuk sinkronisasi register dan configureBlocking.

(Diperoleh dari AbstractSelectableChannel)
Clone()

Membuat dan mengembalikan salinan objek ini.

(Diperoleh dari Object)
Close()

Menutup saluran ini.

(Diperoleh dari AbstractInterruptibleChannel)
ConfigureBlocking(Boolean)

Menyesuaikan mode pemblokiran saluran ini.

(Diperoleh dari AbstractSelectableChannel)
Connect(SocketAddress)

Menyambungkan soket saluran ini.

ConnectAsync(SocketAddress)

Saluran yang dapat dipilih untuk soket penghubung berorientasi aliran.

Construct(JniObjectReference, JniObjectReferenceOptions)

Saluran yang dapat dipilih untuk soket penghubung berorientasi aliran.

(Diperoleh dari JavaObject)
Dispose()

Merilis sumber daya yang dipegang oleh rekan Java ini.

(Diperoleh dari Object)
Dispose(Boolean)

Merilis sumber daya yang dipegang oleh rekan Java ini.

(Diperoleh dari Object)
DisposeUnlessReferenced()

Saluran yang dapat dipilih untuk soket penghubung berorientasi aliran.

(Diperoleh dari JavaObject)
End(Boolean)

Menandai akhir operasi I/O yang mungkin memblokir tanpa batas waktu.

(Diperoleh dari AbstractInterruptibleChannel)
Equals(Object)

Saluran yang dapat dipilih untuk soket penghubung berorientasi aliran.

(Diperoleh dari JavaObject)
Equals(Object)

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

(Diperoleh dari Object)
FinishConnect()

Menyelesaikan proses menyambungkan saluran soket.

FinishConnectAsync()

Saluran yang dapat dipilih untuk soket penghubung berorientasi aliran.

GetHashCode()

Mengembalikan nilai kode hash untuk objek .

(Diperoleh dari Object)
ImplCloseChannel()

Menutup saluran ini.

(Diperoleh dari AbstractSelectableChannel)
ImplCloseSelectableChannel()

Menutup saluran yang dapat dipilih ini.

(Diperoleh dari AbstractSelectableChannel)
ImplConfigureBlocking(Boolean)

Menyesuaikan mode pemblokiran saluran ini.

(Diperoleh dari AbstractSelectableChannel)
JavaFinalize()

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

(Diperoleh dari Object)
KeyFor(Selector)

Mendapatkan kunci pilihan saluran ini untuk pemilih yang ditentukan.

(Diperoleh dari AbstractSelectableChannel)
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.

Open(SocketAddress)

Membuka saluran soket dan menyambungkannya ke alamat jarak jauh.

Provider()

Mengembalikan penyedia yang membuat saluran ini.

(Diperoleh dari AbstractSelectableChannel)
Read(ByteBuffer)

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

Read(ByteBuffer[], Int32, Int32)

Membaca byte dari saluran soket ini ke dalam subset buffer yang diberikan.

Read(ByteBuffer[])

Membaca byte dari saluran soket ini dan menyimpannya dalam array buffer yang ditentukan.

Register(Selector, Operations, Object)

Mendaftarkan saluran ini dengan pemilih yang diberikan, mengembalikan kunci pilihan.

(Diperoleh dari AbstractSelectableChannel)
Register(Selector, Operations)

Mendaftarkan saluran ini dengan pemilih yang diberikan, mengembalikan kunci pilihan.

(Diperoleh dari SelectableChannel)
SetHandle(IntPtr, JniHandleOwnership)

Mengatur properti Handle.

(Diperoleh dari Object)
SetOption(ISocketOption, Object)

Ditambahkan dalam 1.

SetPeerReference(JniObjectReference, JniObjectReferenceOptions)

Saluran yang dapat dipilih untuk soket penghubung berorientasi aliran.

(Diperoleh dari JavaObject)
ShutdownInput()

Matikan koneksi untuk membaca tanpa menutup saluran.

ShutdownOutput()

Matikan koneksi untuk menulis tanpa menutup saluran.

Socket()

Mengambil soket yang terkait dengan saluran ini.

ToArray<T>()

Membuat array terkelola dari pembungkus array Java ini.

(Diperoleh dari Object)
ToString()

Mengembalikan representasi string objek.

(Diperoleh dari Object)
UnregisterFromRuntime()

Membatalkan pendaftaran peer Java ini dari runtime interop.

(Diperoleh dari Object)
ValidOps()

Mengembalikan kumpulan operasi yang mengidentifikasi operasi yang didukung saluran ini.

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 waktu nyata berlalu.

(Diperoleh dari Object)
Wait(Int64)

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

(Diperoleh dari Object)
Write(ByteBuffer)

Menulis byte dari buffer byte yang diberikan ke saluran soket ini.

Write(ByteBuffer[], Int32, Int32)

Mencoba menulis subset byte yang diberikan dari buffer ke saluran soket ini.

Write(ByteBuffer[])

Menulis byte dari semua buffer byte yang diberikan ke saluran soket ini.

Implementasi Antarmuka Eksplisit

Nama Deskripsi
IJavaPeerable.Disposed()

Saluran yang dapat dipilih untuk soket penghubung berorientasi aliran.

(Diperoleh dari JavaObject)
IJavaPeerable.Finalized()

Saluran yang dapat dipilih untuk soket penghubung berorientasi aliran.

(Diperoleh dari JavaObject)
IJavaPeerable.JniObjectReferenceControlBlock

Saluran yang dapat dipilih untuk soket penghubung berorientasi aliran.

(Diperoleh dari JavaObject)
IJavaPeerable.SetJniIdentityHashCode(Int32)

Saluran yang dapat dipilih untuk soket penghubung berorientasi aliran.

(Diperoleh dari JavaObject)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

Saluran yang dapat dipilih untuk soket penghubung berorientasi aliran.

(Diperoleh dari JavaObject)
IJavaPeerable.SetPeerReference(JniObjectReference)

Saluran yang dapat dipilih untuk soket penghubung berorientasi aliran.

(Diperoleh dari JavaObject)
IJavaPeerable.UnregisterFromRuntime()

Saluran yang dapat dipilih untuk soket penghubung berorientasi aliran.

Metode Ekstensi

Nama Deskripsi
GetJniTypeName(IJavaPeerable)

Mendapatkan nama JNI dari jenis instans self.

JavaAs<TResult>(IJavaPeerable)

Cobalah untuk memaksa self untuk mengetik TResult, memeriksa bahwa paksaan valid di sisi Java.

JavaCast<TResult>(IJavaObject)

Melakukan konversi jenis yang diperiksa runtime Android.

JavaCast<TResult>(IJavaObject)

Saluran yang dapat dipilih untuk soket penghubung berorientasi aliran.

ReadAsync(IReadableByteChannel, ByteBuffer)

Saluran yang dapat dipilih untuk soket penghubung berorientasi aliran.

ReadAsync(IScatteringByteChannel, ByteBuffer[], Int32, Int32)

Saluran yang dapat dipilih untuk soket penghubung berorientasi aliran.

ReadAsync(IScatteringByteChannel, ByteBuffer[])

Saluran yang dapat dipilih untuk soket penghubung berorientasi aliran.

TryJavaCast<TResult>(IJavaPeerable, TResult)

Cobalah untuk memaksa self untuk mengetik TResult, memeriksa bahwa paksaan valid di sisi Java.

WriteAsync(IGatheringByteChannel, ByteBuffer[], Int32, Int32)

Saluran yang dapat dipilih untuk soket penghubung berorientasi aliran.

WriteAsync(IGatheringByteChannel, ByteBuffer[])

Saluran yang dapat dipilih untuk soket penghubung berorientasi aliran.

WriteAsync(IWritableByteChannel, ByteBuffer)

Saluran yang dapat dipilih untuk soket penghubung berorientasi aliran.

Berlaku untuk