語言

DatagramSocket 類別

定義

這個類別代表用來傳送和接收數據報封包的套接字。

[Android.Runtime.Register("java/net/DatagramSocket", DoNotGenerateAcw=true)]
public class DatagramSocket : Java.Lang.Object, IDisposable, Java.IO.ICloseable
[<Android.Runtime.Register("java/net/DatagramSocket", DoNotGenerateAcw=true)>]
type DatagramSocket = class
    inherit Object
    interface ICloseable
    interface IJavaObject
    interface IDisposable
    interface IJavaPeerable
繼承
DatagramSocket
衍生
屬性
實作

備註

這個類別代表用來傳送和接收數據報封包的套接字。

數據報套接字是封包傳遞服務的傳送或接收點。 在數據報套接字上傳送或接收的每個封包都會個別尋址和路由傳送。 從一部計算機傳送至另一部機器的多個封包可能會以不同的方式路由傳送,而且可能會依任何順序抵達。

可能的話,新建構的 DatagramSocketSocketOptions#SO_BROADCAST SO_BROADCAST 啟用套接字選項,以便允許傳輸廣播數據報。 為了接收廣播封包,DatagramSocket 應該系結至通配符位址。 在某些實作中,當 DatagramSocket 系結至更特定的位址時,也可能會收到廣播封包。

範例: DatagramSocket s = new DatagramSocket(null); s.bind(new InetSocketAddress(8888)); 這相當於: DatagramSocket s = new DatagramSocket(8888); 這兩種情況都會建立DatagramSocket,能夠在UDP埠8888上接收廣播。

已在 JDK1.0 中新增。

java.net.DatagramSocketJava 檔。

此頁面的部分是根據 Android 開放原始碼專案所建立和共用的工作進行修改,並根據 Creative Commons 2.5 屬性授權中所述的詞彙使用。

建構函式

名稱 Description
DatagramSocket()

建構數據報套接字,並將它系結至本機主計算機上的任何可用埠。

DatagramSocket(DatagramSocketImpl)

使用指定的 DatagramSocketImpl 建立未系結的數據報套接字。

DatagramSocket(Int32, InetAddress)

建立系結至指定本機地址的數據報套接字。

DatagramSocket(Int32)

建構數據報套接字,並將它系結至本機主計算機上的指定埠。

DatagramSocket(IntPtr, JniHandleOwnership)

建立 JNI 物件的 Managed 表示法時使用的建構函式;由運行時間呼叫。

DatagramSocket(SocketAddress)

建立系結至指定本機套接字地址的數據報套接字。

屬性

名稱 Description
Broadcast

測試是否已啟用SO_BROADCAST。 -或- 啟用/停用SO_BROADCAST。

Channel

傳回與此數據報套接字相關聯的唯 java.nio.channels.DatagramChannel 一物件,如果有的話。

Class

傳回這個 Object的運行時間類別。

(繼承來源 Object)
Handle

基礎Android實例的句柄。

(繼承來源 Object)
InetAddress

傳回這個套接字所連接的位址。

IsBound

傳回套接字的系結狀態。

IsClosed

傳回套接字是否已關閉。

IsConnected

傳回套接字的連接狀態。

JniIdentityHashCode

取得由互通執行時指派給此 Java 對等端的身份雜湊碼。

(繼承來源 Object)
JniManagedPeerState

這個類別代表用來傳送和接收數據報封包的套接字。

(繼承來源 JavaObject)
JniPeerMembers

這個類別代表用來傳送和接收數據報封包的套接字。

LocalAddress

取得套接字所系結的本機位址。

LocalPort

傳回此套接字所系結之本機主機上的埠號碼。

LocalSocketAddress

傳回這個套接字所系結之端點的位址。

PeerReference

取得這個 Java 節點的 JNI 物件參考。

(繼承來源 Object)
Port

傳回此套接字連接的埠號碼。

ReceiveBufferSize

取得這個 DatagramSocket的 SO_RCVBUF 選項值,這是平臺在此 上 DatagramSocket輸入所使用的緩衝區大小。 -或- 將SO_RCVBUF選項設定為這個 DatagramSocket的指定值。

RemoteSocketAddress

傳回此套接字所連線之端點的位址,或 null 如果未連接,則傳回該端點的位址。

ReuseAddress

測試是否已啟用SO_REUSEADDR。 -或- 啟用/停用SO_REUSEADDR套接字選項。

SendBufferSize

取得這個 DatagramSocket的SO_SNDBUF選項值,這是平臺在此 上 DatagramSocket輸出所使用的緩衝區大小。 -或- 將SO_SNDBUF選項設定為這個 DatagramSocket的指定值。

SoTimeout

擷取SO_TIMEOUT的設定。 -或- 以毫秒為單位,以指定的逾時啟用/停用SO_TIMEOUT。

ThresholdClass

此 API 支援適用於 Android 的 Mono 基礎結構,並不適合直接從您的程式代碼使用。

ThresholdType

此 API 支援適用於 Android 的 Mono 基礎結構,並不適合直接從您的程式代碼使用。

TrafficClass

針對從這個 DatagramSocket 傳送的封包,取得 IP 數據報標頭中的流量類別或服務類型。 -或- 設定從這個 DatagramSocket 傳送之數據報的 IP 數據報標頭中的流量類別或服務類型八位。

方法

名稱 Description
Bind(SocketAddress)

將此 DatagramSocket 系結至特定地址和埠。

Clone()

建立並傳回這個 對象的複本。

(繼承來源 Object)
Close()

關閉此數據報套接字。

Connect(InetAddress, Int32)

將套接字連線到此套接字的遠端位址。

Connect(SocketAddress)

將此套接字連線到遠端套接字位址(IP 位址 + 埠號碼)。

ConnectAsync(InetAddress, Int32)

這個類別代表用來傳送和接收數據報封包的套接字。

ConnectAsync(SocketAddress)

這個類別代表用來傳送和接收數據報封包的套接字。

Construct(JniObjectReference, JniObjectReferenceOptions)

這個類別代表用來傳送和接收數據報封包的套接字。

(繼承來源 JavaObject)
Disconnect()

中斷套接字連線。

Dispose()

釋放該 Java 節點所持有的資源。

(繼承來源 Object)
Dispose(Boolean)

釋放該 Java 節點所持有的資源。

(繼承來源 Object)
DisposeUnlessReferenced()

這個類別代表用來傳送和接收數據報封包的套接字。

(繼承來源 JavaObject)
Equals(Object)

這個類別代表用來傳送和接收數據報封包的套接字。

(繼承來源 JavaObject)
Equals(Object)

指出其他物件是否「等於」這個物件。

(繼承來源 Object)
GetHashCode()

傳回此物件的雜湊碼值。

(繼承來源 Object)
GetOption(ISocketOption)

傳回套接字選項的值。

JavaFinalize()

當垃圾收集決定不再參考物件時,垃圾收集行程在 物件上呼叫。

(繼承來源 Object)
Notify()

喚醒正在等候此物件監視器的單一線程。

(繼承來源 Object)
NotifyAll()

喚醒正在等候此物件監視器的所有線程。

(繼承來源 Object)
Receive(DatagramPacket)

從這個套接字接收數據報封包。

ReceiveAsync(DatagramPacket)

這個類別代表用來傳送和接收數據報封包的套接字。

Send(DatagramPacket)

從這個套接字傳送數據報封包。

SendAsync(DatagramPacket)

這個類別代表用來傳送和接收數據報封包的套接字。

SetDatagramSocketImplFactory(IDatagramSocketImplFactory)

設定應用程式的 Datagram 套接字實作處理站。

SetHandle(IntPtr, JniHandleOwnership)

設定 Handle 屬性。

(繼承來源 Object)
SetOption(ISocketOption, Object)

設定套接字選項的值。

SetPeerReference(JniObjectReference, JniObjectReferenceOptions)

這個類別代表用來傳送和接收數據報封包的套接字。

(繼承來源 JavaObject)
SupportedOptions()

傳回此套接字支援的一組套接字選項。

ToArray<T>()

從這個 Java 陣列包裝器建立一個受管理陣列。

(繼承來源 Object)
ToString()

傳回物件的字串表示。

(繼承來源 Object)
UnregisterFromRuntime()

將此 Java 節點從互通執行時中取消註冊。

(繼承來源 Object)
Wait()

讓目前線程等候直到喚醒為止,通常是藉由em <notified/em>或<em>interrupted</em> 來喚醒它。<>

(繼承來源 Object)
Wait(Int64, Int32)

讓目前的線程等到喚醒為止,通常是因為 <em>notified</em> 或 <em>interrupted</em>,或直到經過一定數量的實時為止。

(繼承來源 Object)
Wait(Int64)

讓目前的線程等到喚醒為止,通常是因為 <em>notified</em> 或 <em>interrupted</em>,或直到經過一定數量的實時為止。

(繼承來源 Object)

明確介面實作

名稱 Description
IJavaPeerable.Disposed()

這個類別代表用來傳送和接收數據報封包的套接字。

(繼承來源 JavaObject)
IJavaPeerable.Finalized()

這個類別代表用來傳送和接收數據報封包的套接字。

(繼承來源 JavaObject)
IJavaPeerable.JniObjectReferenceControlBlock

這個類別代表用來傳送和接收數據報封包的套接字。

(繼承來源 JavaObject)
IJavaPeerable.SetJniIdentityHashCode(Int32)

這個類別代表用來傳送和接收數據報封包的套接字。

(繼承來源 JavaObject)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

這個類別代表用來傳送和接收數據報封包的套接字。

(繼承來源 JavaObject)
IJavaPeerable.SetPeerReference(JniObjectReference)

這個類別代表用來傳送和接收數據報封包的套接字。

(繼承來源 JavaObject)
IJavaPeerable.UnregisterFromRuntime()

這個類別代表用來傳送和接收數據報封包的套接字。

擴充方法

名稱 Description
GetJniTypeName(IJavaPeerable)

取得實例 self類型的 JNI 名稱。

JavaAs<TResult>(IJavaPeerable)

試著強制self輸入 TResult,檢查 強制在 Java 端是否有效。

JavaCast<TResult>(IJavaObject)

執行 Android 執行時間檢查的類型轉換。

JavaCast<TResult>(IJavaObject)

這個類別代表用來傳送和接收數據報封包的套接字。

TryJavaCast<TResult>(IJavaPeerable, TResult)

試著強制self輸入 TResult,檢查 強制在 Java 端是否有效。

適用於