ParcelFileDescriptor.FromSocket(Socket) 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
從指定的 Socket 建立一個新的 ParcelFileDescriptor。
[Android.Runtime.Register("fromSocket", "(Ljava/net/Socket;)Landroid/os/ParcelFileDescriptor;", "")]
public static Android.OS.ParcelFileDescriptor? FromSocket(Java.Net.Socket? socket);
[<Android.Runtime.Register("fromSocket", "(Ljava/net/Socket;)Landroid/os/ParcelFileDescriptor;", "")>]
static member FromSocket : Java.Net.Socket -> Android.OS.ParcelFileDescriptor
參數
- socket
- Socket
該套接字的 FileDescriptor 用於建立新的 ParcelFileDescriptor。
傳回
一個新的 ParcelFileDescriptor,並複製了指定 Socket 的 FileDescriptor 副本。
- 屬性
備註
從指定的 Socket 建立一個新的 ParcelFileDescriptor。 新的 ParcelFileDescriptor 會保留 Socket 中原始 FileDescriptor 的重複版本,因此你仍然必須關閉 Socket 以及新的 ParcelFileDescriptor。
<strong>WARNING:</strong> 在 API 等級 29 之前,這個函式實際上不會重複 Socket 的 FileDescriptor,而是引用其內部 FileDescriptor。 如果 Socket 在 ParcelFileDescriptor 之前被垃圾回收,可能會導致 ParcelFileDescriptor 意外關閉。 為避免此情況,可採用以下模式:
{@code
ParcelFileDescriptor pfd = ParcelFileDescriptor.fromSocket(socket).dup();
}
Java 文件 android.os.ParcelFileDescriptor.fromSocket(java.net.Socket)。
本頁部分內容為基於 Open Source Project 所創建與分享的作品,並依授權條款所描述的使用進行修改。