
Java 教程
- Java - 首頁
- Java - 概述
- Java - 歷史
- Java - 特性
- Java 與 C++
- JVM - Java 虛擬機器
- Java - JDK 與 JRE 與 JVM
- Java - Hello World 程式
- Java - 環境設定
- Java - 基本語法
- Java - 變數型別
- Java - 資料型別
- Java - 型別轉換
- Java - Unicode 系統
- Java - 基本運算子
- Java - 註釋
- Java - 使用者輸入
- Java - 日期和時間
Java 控制語句
- Java - 迴圈控制
- Java - 決策制定
- Java - If-else
- Java - Switch
- Java - For 迴圈
- Java - For-Each 迴圈
- Java - While 迴圈
- Java - do-while 迴圈
- Java - Break
- Java - Continue
面向物件程式設計
- Java - OOPs 概念
- Java - 物件和類
- Java - 類屬性
- Java - 類方法
- Java - 方法
- Java - 變數作用域
- Java - 建構函式
- Java - 訪問修飾符
- Java - 繼承
- Java - 聚合
- Java - 多型
- Java - 重寫
- Java - 方法過載
- Java - 動態繫結
- Java - 靜態繫結
- Java - 例項初始化塊
- Java - 抽象
- Java - 封裝
- Java - 介面
- Java - 包
- Java - 內部類
- Java - 靜態類
- Java - 匿名類
- Java - 單例類
- Java - 包裝類
- Java - 列舉
- Java - 列舉建構函式
- Java - 列舉字串
Java 內建類
Java 檔案處理
Java 錯誤和異常
- Java - 異常
- Java - try-catch 塊
- Java - try-with-resources
- Java - 多重 catch 塊
- Java - 巢狀 try 塊
- Java - Finally 塊
- Java - throw 異常
- Java - 異常傳播
- Java - 內建異常
- Java - 自定義異常
Java 多執行緒
- Java - 多執行緒
- Java - 執行緒生命週期
- Java - 建立執行緒
- Java - 啟動執行緒
- Java - 合併執行緒
- Java - 執行緒命名
- Java - 執行緒排程器
- Java - 執行緒池
- Java - 主執行緒
- Java - 執行緒優先順序
- Java - 守護執行緒
- Java - 執行緒組
- Java - 關閉鉤子
Java 同步
Java 網路
- Java - 網路
- Java - 套接字程式設計
- Java - URL 處理
- Java - URL 類
- Java - URLConnection 類
- Java - HttpURLConnection 類
- Java - Socket 類
- Java - 泛型
Java 集合
Java 介面
Java 資料結構
Java 集合演算法
高階 Java
- Java - 命令列引數
- Java - Lambda 表示式
- Java - 傳送電子郵件
- Java - Applet 基礎
- Java - Javadoc 註釋
- Java - 自動裝箱和拆箱
- Java - 檔案不匹配方法
- Java - REPL (JShell)
- Java - 多版本 Jar 檔案
- Java - 私有介面方法
- Java - 內部類菱形運算子
- Java - 多解析度影像 API
- Java - 集合工廠方法
- Java - 模組系統
- Java - Nashorn JavaScript
- Java - Optional 類
- Java - 方法引用
- Java - 函式式介面
- Java - 預設方法
- Java - Base64 編碼解碼
- Java - Switch 表示式
- Java - Teeing 收集器
- Java - 微基準測試
- Java - 文字塊
- Java - 動態 CDS 存檔
- Java - Z 垃圾收集器 (ZGC)
- Java - 空指標異常
- Java - 打包工具
- Java - 密封類
- Java - 記錄類
- Java - 隱藏類
- Java - 模式匹配
- Java - 緊湊數字格式化
- Java - 垃圾回收
- Java - JIT 編譯器
Java 雜項
- Java - 遞迴
- Java - 正則表示式
- Java - 序列化
- Java - 字串
- Java - 程序 API 改進
- Java - Stream API 改進
- Java - 增強的 @Deprecated 註釋
- Java - CompletableFuture API 改進
- Java - 流
- Java - 日期時間 API
- Java 8 - 新特性
- Java 9 - 新特性
- Java 10 - 新特性
- Java 11 - 新特性
- Java 12 - 新特性
- Java 13 - 新特性
- Java 14 - 新特性
- Java 15 - 新特性
- Java 16 - 新特性
Java API 和框架
Java 類參考
- Java - Scanner
- Java - 陣列
- Java - 字串
- Java - Date
- Java - ArrayList
- Java - Vector
- Java - Stack
- Java - PriorityQueue
- Java - LinkedList
- Java - ArrayDeque
- Java - HashMap
- Java - LinkedHashMap
- Java - WeakHashMap
- Java - EnumMap
- Java - TreeMap
- Java - IdentityHashMap
- Java - HashSet
- Java - EnumSet
- Java - LinkedHashSet
- Java - TreeSet
- Java - BitSet
- Java - Dictionary
- Java - Hashtable
- Java - Properties
- Java - Collection
- Java - Array
Java 有用資源
Java - Socket isOutputShutdown() 方法
描述
Java Socket isOutputShutdown() 返回套接字連線的寫半部分是否已關閉。
宣告
以下是 java.net.Socket.isOutputShutdown() 方法的宣告。
public boolean isOutputShutdown()
引數
無
返回值
如果套接字的輸出已關閉,則返回 true。
異常
無
示例 1
以下示例演示瞭如何使用 Java Socket isOutputShutdown() 方法獲取套接字連線寫半部分是否已關閉的狀態。第一步,我們使用無引數建構函式建立了一個 Socket 例項。然後為了建立 SocketAddress 物件,我們初始化了一個 localhost 地址的 InetAddress 例項。使用 InetSocketAddress 物件,我們建立了一個 SocketAddress 物件,然後使用 bind() 方法將地址繫結到套接字。完成後,我們使用 isOutputShutdown() 方法列印狀態,以及本地埠和 inet 地址,如所示。最後,我們使用 close() 方法關閉套接字。
package com.tutorialspoint; import java.io.IOException; import java.net.InetAddress; import java.net.InetSocketAddress; import java.net.Socket; import java.net.SocketAddress; public class SocketDemo { public static void main(String[] args) throws IOException { Socket socket = new Socket(); InetAddress inetAddress=InetAddress.getByName("localhost"); SocketAddress socketAddress=new InetSocketAddress(inetAddress, 6066); socket.bind(socketAddress); socket.connect(socketAddress); System.out.println("Is Input Stream shutdown: "+socket.isOutputShutdown()); System.out.println("Port number: "+socket.getLocalPort()); System.out.println("Inet Address: "+socket.getInetAddress()); socket.close(); } }
輸出
讓我們編譯並執行以上程式,這將產生以下結果:
Is Input Stream shutdown: false Port number: 6066 Inet Address: localhost/127.0.0.1
示例 2
以下示例演示瞭如何使用 Java Socket isOutputShutdown() 方法獲取套接字連線寫半部分是否已關閉的狀態。第一步,我們使用無引數建構函式建立了一個 Socket 例項。然後為了建立 SocketAddress 物件,我們初始化了一個 localhost 地址的 InetAddress 例項。使用 InetSocketAddress 物件,我們建立了一個 SocketAddress 物件,然後使用 bind() 方法將地址繫結到套接字。使用 connect() 方法,我們建立與伺服器的連線。現在,我們使用 isOutputShutdown() 方法列印狀態。然後我們使用 shutdownOutput() 方法關閉輸入流,並使用 isOutputShutdown() 方法列印狀態。最後,我們使用 close() 方法關閉套接字。
package com.tutorialspoint; import java.io.IOException; import java.net.InetAddress; import java.net.InetSocketAddress; import java.net.Socket; import java.net.SocketAddress; public class SocketDemo { public static void main(String[] args) throws IOException { Socket socket = new Socket(); InetAddress inetAddress=InetAddress.getByName("localhost"); SocketAddress socketAddress=new InetSocketAddress(inetAddress, 6067); socket.bind(socketAddress); socket.connect(socketAddress); System.out.println("Is Output Stream shutdown: "+socket.isOutputShutdown()); socket.shutdownOutput(); System.out.println("Is Output Stream shutdown: "+socket.isOutputShutdown()); socket.close(); } }
輸出
讓我們編譯並執行以上程式,這將產生以下結果:
Is Output Stream shutdown: false Is Output Stream shutdown: true
示例 3
以下示例演示瞭如何使用 Java Socket isOutputShutdown() 方法獲取套接字例項的 TCP_NODELAY 標誌的狀態,如果套接字已關閉。第一步,我們使用無引數建構函式建立了一個 Socket 例項。然後為了建立 SocketAddress 物件,我們初始化了一個 localhost 地址的 InetAddress 例項。使用 InetSocketAddress 物件,我們建立了一個 SocketAddress 物件,然後使用 bind() 方法將地址繫結到套接字。使用 connect() 方法,我們建立與伺服器的連線。使用 socket.close(),我們關閉套接字。現在,我們使用 isOutputShutdown() 方法列印狀態。然後我們使用 shutdownOutput() 方法關閉輸入流,並使用 isOutputShutdown() 方法列印狀態。最後,我們使用 close() 方法關閉套接字。
package com.tutorialspoint; import java.io.IOException; import java.net.InetAddress; import java.net.InetSocketAddress; import java.net.Socket; import java.net.SocketAddress; public class SocketDemo { public static void main(String[] args) throws IOException { Socket socket = new Socket(); InetAddress inetAddress=InetAddress.getByName("localhost"); SocketAddress socketAddress=new InetSocketAddress(inetAddress, 6068); socket.bind(socketAddress); socket.connect(socketAddress); socket.close(); System.out.println("Is Input Stream shutdown: "+socket.isOutputShutdown()); socket.shutdownOutput(); System.out.println("Is Input Stream shutdown: "+socket.isOutputShutdown()); socket.close(); } }
輸出
讓我們編譯並執行以上程式,這將產生以下結果:
Is Input Stream shutdown: false Exception in thread "main" java.net.SocketException: Socket is closed at java.base/java.net.Socket.shutdownOutput(Socket.java:1568) at com.tutorialspoint.SocketDemo.main(SocketDemo.java:18)