UDP通訊:服務器與客戶端

ava UDP通信(DatagramPacket類、DatagramSocket類、InetAddress類)


一、 DatagramPacket類:

如果把DatagramSocket比作創建的港口碼頭,那麼DatagramPacket就是發送和接收數據的集裝箱。
構造函數:一個用來接收數據,一個用來發送數據
public DatagramPacket(byte[] buf,int length) //接收數據
構造 DatagramPacket 用來接收長度爲 ilength 的包。
public DatagramPacket(byte[] buf,int length,InetAddress address,int port)
構造數據報文包用來把長度爲 ilength 的包傳送到指定宿主的指定的端口號。
getAddress()       返回接收或發送此數據報文的機器的 IP 地址。
getData()        返回接收的數據或發送出的數據。
getLength()      返回發送出的或接收到的數據的長度。
getPort()       返回接收或發送該數據報文的遠程主機端口號。

二、DatagramSocket類

此類表示用來發送和接收數據報包的套接字。 數據報套接字是包投遞服務的發送或接收點。
DatagramSocket(int port)     創建數據報套接字並將其綁定到本地主機上的指定端口。
DatagramSocket(int port, InetAddress laddr)     創建數據報套接字,將其綁定到指定的本地地址。

receive(DatagramPacket p)             從此套接字接收數據報包。
void send(DatagramPacket p)         從此套接字發送數據報包。
bind(SocketAddress addr)              將此 DatagramSocket 綁定到特定的地址和端口。
void close()              關閉此數據報套接字。
void connect(InetAddress address, int port)              將套接字連接到此套接字的遠程地址。
void connect(SocketAddress addr)              將此套接字連接到遠程套接字地址(IP 地址 + 端口號)。
void disconnect()              斷開套接字的連接。
getInetAddress()              返回此套接字連接的地址。
InetAddress getLocalAddress()              獲取套接字綁定的本地地址。

三、InetAddress類
InetAddress用於表示計算機IP地址的一個類,而在日常應用中的IP地址用"192.168.0.1",
"WWW.it315.org "等字符串格式表示的。
getByName方法
getHostAddress方法

 

三、示例

 1、客戶端


客戶端向服務器(端口:2000)發送數據

2、服務器

接收從客戶端發過來的數據。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章