后端 | Java | 網(wǎng)絡編程之UDP通信、TCP通信
筆記來源:Java入門基礎視頻教程,java零基礎自學就選黑馬程序員Java入門教程
一、UDP通信
Java提供了一個java.net.DatagramSocket類來實現(xiàn)UDP通信。
DatagramSocket:用于創(chuàng)建客戶端、服務端
構造器:
public DatagramSocket():創(chuàng)建客戶端的Socket對象,系統(tǒng)會隨機分配一個端口號。
public DatagramSocket(int port):創(chuàng)建服務端的Socket對象,并指定端口號。
方法:
public void send(DatagramPacket dp):發(fā)送數(shù)據(jù)包。
public void receive(DatagramPacket p):使用數(shù)據(jù)包接收數(shù)據(jù)。
DatagramPacket:創(chuàng)建數(shù)據(jù)包
構造器:
public DatagramPacket(byte[] buf, int length, InetAddress address, int port):創(chuàng)建發(fā)出去的數(shù)據(jù)包對象。
public DatagramPacket(byte[] buf, int length):創(chuàng)建用來接收數(shù)據(jù)的數(shù)據(jù)包。
方法:
public int getLength():獲取數(shù)據(jù)包實際接收到的字節(jié)個數(shù)。
二、TCP通信
Java提供了一個java.net.Socket類來實現(xiàn)TCP通信。
Socket類:
構造器:
public Socket(String host, int port):根據(jù)指定的服務器ip、端口號請求與服務器建立連接,連接通過,就獲得了客戶端socket。
方法:
public OutputStream getOutputStream():獲得字節(jié)輸出流對象。
public InputStream getInputStream():獲得字節(jié)輸入流對象。
TCP通信——服務端程序
構造器:
public ServerSocket(int port):為服務端程序注冊端口。
方法:
public Socket accept():阻塞等待客戶端的連接請求,一旦與某個客戶端成功連接,則返回服務端這邊的Socket對象。