教育行業(yè)A股IPO第一股(股票代碼 003032)

全國(guó)咨詢/投訴熱線:400-618-4000

Socket的常用構(gòu)造方法【詳解】

更新時(shí)間:2022年08月26日18時(shí)14分 來(lái)源:傳智教育 瀏覽次數(shù):

好口碑IT培訓(xùn)

ServerSocket對(duì)象可以實(shí)現(xiàn)服務(wù)端程序,但只實(shí)現(xiàn)服務(wù)器端程序還不能完成通信,此時(shí)還需要一個(gè)客戶端程序與之交互,為此JDK提供了一個(gè)Socket類,用于實(shí)現(xiàn)TCP客戶端程序。通過(guò)查閱API文檔可知Socket類同樣提供了多個(gè)構(gòu)造方法,接下來(lái)就對(duì)Socket的常用構(gòu)造方法進(jìn)行講解。

(1) Socket()

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

(2) Socket(String host,int port)

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

(3) Socket(InetAddress address, int port)

該方法在使用上與第2個(gè)構(gòu)造方法類似,參數(shù)address用于接收一個(gè)InetAddress類型的對(duì)象,該對(duì)象用于封裝一個(gè)IP地址。

在以上Socket的構(gòu)造方法中,最常用的是第1個(gè)構(gòu)造方法。了解了Socket構(gòu)造方法的的對(duì)象,該對(duì)象用于封裝一個(gè)IP地址。用法,接下來(lái)學(xué)習(xí)Socket的常用方法,如表11-5所示。

Socket的常用方法

表中列舉了Socket類的常用方法,其中g(shù)etInputStream()和getOutStream()方法分別用于獲取輸入流和輸出流。當(dāng)客戶端和服務(wù)端建立連接后,數(shù)據(jù)是以I/O流的形式進(jìn)行交互,從而實(shí)現(xiàn)通信的。接下來(lái)通過(guò)一張圖來(lái)描述服務(wù)器端和客戶端的數(shù)據(jù)傳輸,如圖所示。

服務(wù)器端和客戶端的數(shù)據(jù)傳輸
服務(wù)器端和客戶端通信圖




0 分享到:
和我們?cè)诰€交談!