更新時間:2022-03-30 09:29:20 來源:動力節(jié)點 瀏覽2304次
Java API 提供了可用于表示 URL 地址的 URL 類。如果您有 URL 地址字符串,則可以創(chuàng)建 URL 對象。URL 類提供 getter 方法來獲取 URL 的組成部分,例如主機名、端口、路徑、查詢參數(shù)等。
String urlString = 'http://www.interviewgrid.com';
URL url = 新 URL(urlString);
Java API 提供了“URLConnecton”類,可用于創(chuàng)建到 URL 的連接。如果你有一個 URL 對象,你可以通過在 URL 對象上調(diào)用 openConnection() 方法來獲取 URLConnection 對象。擁有 URLConnection 對象后,您可以通過調(diào)用 URLConnection 對象的 connect() 方法連接到 URL 資源。您可以使用 URLRequest 對象來設(shè)置建立 URL 連接可能需要的參數(shù)和屬性。
String urlString = 'http://www.codinggrid.com';
URL myUrl = 新 URL(urlString);
URLConnection myUrlConnection = myUrl.openConnection();
myUrlConnection.connect();
(1)創(chuàng)建 URL 對象
(2)創(chuàng)建 URLConnection 對象
(3)打開到 URL 的連接
(4)從連接中獲取輸入流
(5)從輸入流中讀取
(6)關(guān)閉輸入流
套接字是客戶端程序和服務(wù)器程序之間通過網(wǎng)絡(luò)交換數(shù)據(jù)的通信鏈路中的端點。
在服務(wù)器端,一個套接字綁定到一個特定的端口號。服務(wù)器偵聽套接字,等待客戶端發(fā)出連接請求。如果來自客戶端的連接成功,則使用現(xiàn)有的 socked 與該客戶端進行通信。此外,還會創(chuàng)建一個新套接字并將其綁定到同一端口,以便服務(wù)器可以偵聽來自其他客戶端的新連接。一個新的
在客戶端:客戶端向服務(wù)器發(fā)出連接請求,特定于服務(wù)器套接字所綁定的端口號。要成功連接到服務(wù)器,客戶端必須向服務(wù)器標識自己及其端口號。因此,客戶端在發(fā)出連接請求之前將自己綁定到本地端口。如果連接成功,則會在客戶端創(chuàng)建一個套接字,該套接字綁定到該端口并用于與服務(wù)器通信。
Java 編程語言提供了兩個類來表示套接字。類“java.net.Socket”代表客戶端的一個套接字。類 'java.net.ServerSocket' 表示服務(wù)器端的套接字。
TCP 是一種提供可靠的點對點通信通道的協(xié)議,客戶端-服務(wù)器應(yīng)用程序使用該通道相互通信。要通過 TCP 進行通信,客戶端程序和服務(wù)器程序必須首先通過通信通道兩端的套接字相互建立連接。為了進行通信,客戶端和服務(wù)器讀取和寫入綁定到連接的套接字。
與 TCP 一樣,UDP 是一種協(xié)議,它提供了客戶端-服務(wù)器應(yīng)用程序用來相互通信的通信通道。但與 TCP 不同的是,通過 UDP 發(fā)送的通信的消息內(nèi)容和到達時間是沒有保證的。在 UDP 中,消息是通過數(shù)據(jù)報發(fā)送的,數(shù)據(jù)報是獨立的、自包含的數(shù)據(jù)包。
數(shù)據(jù)報是一種獨立的、自包含的信息包,通過網(wǎng)絡(luò)在服務(wù)器和客戶端程序之間以 UDP 協(xié)議發(fā)送。無法保證將數(shù)據(jù)報送達目的地。不能保證數(shù)據(jù)報到達目的地的順序。數(shù)據(jù)報可以發(fā)送或廣播給多個接收者。
Java 編程語言提供了三個可用于編程數(shù)據(jù)報的主要類 - java.net.DatagramPacket、java.net.DatagramSocket、java.net.MultigramSocket
網(wǎng)絡(luò)接口是計算機與專用或公共網(wǎng)絡(luò)之間的互連點。網(wǎng)絡(luò)接口通常是網(wǎng)絡(luò)接口卡 (NIC)。網(wǎng)絡(luò)接口既可以具有物理形式,也可以用軟件實現(xiàn)。
Java 網(wǎng)絡(luò) API 提供了代表這兩種類型的接口的 java.net.NetworkInterface 類。
您可以使用 NetworkInterface 類獲取分配給網(wǎng)絡(luò)接口的 IP 地址列表。您可以使用兩種方法之一從 NetworkInterface 實例獲取此信息。
(1)getInetAddresses() - 返回 InetAddress 的枚舉。
(2)getInterfaceAddresses() - 返回 java.net.InterfaceAddress 實例的列表。當您需要超出其 IP 地址(例如子網(wǎng)掩碼)的接口地址的更多信息時,使用此方法。