首頁(yè)常見(jiàn)問(wèn)題正文

Java培訓(xùn):網(wǎng)絡(luò)編程之DatagramSocket類(lèi)

更新時(shí)間:2023-11-24 來(lái)源:黑馬程序員 瀏覽量:

IT培訓(xùn)班

  使用DatagramSocket類(lèi)的實(shí)例對(duì)象可以發(fā)送和接收DatagramPacket數(shù)據(jù)包。在創(chuàng)建發(fā)送端和接收端的DatagramSocket對(duì)象時(shí),使用的構(gòu)造方法也有所不同,下面對(duì)DatagramSocket類(lèi)中常用的構(gòu)造方法進(jìn)行講解。

  (1)DatagramSocket()

  該構(gòu)造方法用于創(chuàng)建發(fā)送端的DatagramSocket對(duì)象,在創(chuàng)建DatagramSocket對(duì)象時(shí),并沒(méi)有指定端口號(hào),此時(shí),系統(tǒng)會(huì)分配一個(gè)沒(méi)有被其他網(wǎng)絡(luò)程序使用的端口號(hào)。

  (2)DatagramSocket(int port)

  該構(gòu)造方法既可用于創(chuàng)建接收端的DatagramSocket對(duì)象,又可以創(chuàng)建發(fā)送端的DatagramSocket對(duì)象,在創(chuàng)建接收端的DatagramSocket對(duì)象時(shí),必須要指定一個(gè)端口號(hào),這樣就可以監(jiān)聽(tīng)指定的端口。

  (3)DatagramSocket(int port,InetAddress addr)

  使用該構(gòu)造方法在創(chuàng)建DatagramSocket對(duì)象時(shí),不僅指定了端口號(hào),而且指定了相關(guān)的IP地址。該構(gòu)造方法適用于計(jì)算機(jī)上有多塊網(wǎng)卡的情況,在使用時(shí)可以明確規(guī)定數(shù)據(jù)通過(guò)哪塊網(wǎng)卡向外發(fā)送或接收哪塊網(wǎng)卡的數(shù)據(jù)。由于計(jì)算機(jī)中會(huì)為不同的網(wǎng)卡分配不同的IP,所以在創(chuàng)建DatagramSocket對(duì)象時(shí)需要通過(guò)指定IP地址確定使用哪塊網(wǎng)卡進(jìn)行通信。

  上面講解了DatagramSocket的常用構(gòu)造方法,下面對(duì)DatagramSocket類(lèi)的常用方法進(jìn)行介紹,DatagramSocket類(lèi)的常用方法如表9-3所示。

  表9-3 DatagramSocket類(lèi)的常用方法

1700789863270_datagramSocket類(lèi)的常用方法.jpg

  表9-3中,對(duì)DatagramSocket類(lèi)中的常用方法及其功能進(jìn)行了介紹。其中,send()方法用于發(fā)送DatagramPacket數(shù)據(jù)包,receive()方法用于將接收到的數(shù)據(jù)填充到DatagramPacket數(shù)據(jù)包中,close()方法用于關(guān)閉當(dāng)前的Socket。

  本文版權(quán)歸黑馬程序員Java培訓(xùn)學(xué)院所有,歡迎轉(zhuǎn)載,轉(zhuǎn)載請(qǐng)注明作者出處。謝謝!

  作者:黑馬程序員Java培訓(xùn)學(xué)院

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

分享到:
在線咨詢 我要報(bào)名
和我們?cè)诰€交談!