首頁常見問題正文

Java培訓:網絡編程之Socket

更新時間:2023-11-27 來源:黑馬程序員 瀏覽量:

IT培訓班

  之前的小節(jié)我們講解了ServerSocket對象,它可以實現服務器端程序,但只實現服務器端程序還不能完成通信,此時還需要一個客戶端程序與之交互,為此Java提供了一個Socket類,用于實現TCP客戶端程序。通過查閱API文檔可知,Socket類同樣提供了多種構造方法。下面對Socket的常用構造方法進行詳細講解。

  (1)Socket()

  使用該構造方法在創(chuàng)建Socket對象時,并沒有指定IP地址和端口號,這也就意味著只創(chuàng)建了客戶端對象,并沒有去連接任何服務器。通過該構造方法創(chuàng)建對象后還需調用connect(SocketAddress endpoint)方法,才能完成與指定服務器端的連接,其中參數endpoint用于封裝IP地址和端口號。

  (2)Socket(String host, int port)

  使用該構造方法在創(chuàng)建Socket對象時,會根據參數去連接在指定地址和端口上運行的服務器程序,其中參數host接收的是一個字符串類型的IP地址。

  (3)Socket(InetAddress address,int port)

  該構造方法在使用上與第二個構造方法類似,參數address用于接收一個InetAddress類型的對象,該對象用于封裝一個IP地址。

  在以上Socket的構造方法中,最常用的是第一個構造方法。了解了Socket的構造方法后,下面學習Socket的常用方法,如表9-5所示。

  表9-5 Socket的常用方法

1701049564776_Socket的常用方法.jpg

  表9-5中,getInputStream()和getOutputStream()方法分別用于獲取輸入流和輸出流。當客戶端和服務器端建立連接后,數據是以I/O流的形式進行交互的。從而實現通信。

  本文版權歸黑馬程序員Java培訓學院所有,歡迎轉載,轉載請注明作者出處。謝謝!

  作者:黑馬程序員Java培訓學院

  首發(fā):https://java.itheima.com

分享到:
在線咨詢 我要報名
和我們在線交談!