freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

java網(wǎng)絡(luò)編程技術(shù)socket編程ppt-資料下載頁(yè)

2024-10-16 16:18本頁(yè)面
  

【正文】 ? 該類(lèi)表示一個(gè)數(shù)據(jù)報(bào)包 。 該數(shù)據(jù)報(bào)包用來(lái)實(shí)現(xiàn)一個(gè)無(wú)連接包的傳送服務(wù) 。 它是進(jìn)行數(shù)據(jù)報(bào)通信的基本單位 。 包含了 IP地址 、 端口號(hào)和需要傳輸?shù)臄?shù)據(jù)等 。 在發(fā)送和接收數(shù)據(jù)報(bào)時(shí) , 要?jiǎng)?chuàng)建 DatagramPakcet類(lèi)對(duì)象作為數(shù)據(jù)的載體 。 1.構(gòu)造函數(shù) ? ( 1) public DatagramPacket(byte ibuf[],int ilength) ? 功能:創(chuàng)建一個(gè)用于接收數(shù)據(jù)報(bào)的DatagramPacket類(lèi)對(duì)象。 ? 參數(shù): ? ibuf:存儲(chǔ)數(shù)據(jù)報(bào)的緩沖區(qū)。在數(shù)據(jù)報(bào)通信中,發(fā)送和接收一個(gè)數(shù)據(jù)報(bào),都需提供一個(gè)緩沖區(qū),用來(lái)安置發(fā)送和接收到的數(shù)據(jù)報(bào)。 ? ilength:接收數(shù)據(jù)報(bào)的長(zhǎng)度,必須小于等于。 ? ( 2) public DatagramPacket(byte ibuf[],int ilength,IAddress iaddr,int iport) ? 功能:創(chuàng)建一個(gè)用于發(fā)送數(shù)據(jù)報(bào)的DatagramPacket類(lèi)對(duì)象。 ? 參數(shù): ? ibuf:存儲(chǔ)數(shù)據(jù)報(bào)的緩沖區(qū)。 ? ilength:發(fā)送數(shù)據(jù)報(bào)的長(zhǎng)度,必須小于等于。 ? iaddr:數(shù)據(jù)報(bào)要發(fā)送到的目的 IP地址。 ? iport:數(shù)據(jù)報(bào)要發(fā)送到的目的地址的端口號(hào)。 2.常用方法 ? ( 1) public synchronized IAddress getAddress() ? 功能:返回存放在接收或發(fā)送的數(shù)據(jù)報(bào)中的 IP地址。 ? ( 2) public synchronized int getPort() ? 功能:返回存放在接收或發(fā)送的數(shù)據(jù)報(bào)中的端口號(hào)。 ? ( 3) public synchronized byte[] getData() ? 功能:返回存放在數(shù)據(jù)報(bào)中的數(shù)據(jù)。 ? ( 4) public synchronized int getLength() ? 功能:返回?cái)?shù)據(jù)報(bào)中數(shù)據(jù)的長(zhǎng)度。 ? ( 5) public synchronized void setAddress(IAddress iaddr) ? 功能:設(shè)置發(fā)送數(shù)據(jù)報(bào)的目的地址為 iaddr。 ? ( 6) public synchronized void setPort(int iport) ? 功能:設(shè)置發(fā)送數(shù)據(jù)報(bào)的目的地址的端口號(hào)為 iport。 ? ( 7) public synchronized void setData(byte ibuf[]) ? 功能:設(shè)置數(shù)據(jù)報(bào)中的數(shù)據(jù)內(nèi)容為字節(jié)數(shù)組 ibuf的數(shù)據(jù)。 ? ( 8) public synchronized void setLength(int ilength) ? 功能:設(shè)置數(shù)據(jù)報(bào)中的數(shù)據(jù)的長(zhǎng)度為 ilength。 ? 該類(lèi)表示用來(lái)發(fā)送和接收數(shù)據(jù)報(bào)包的套接字( Socket)。要收發(fā) DatagramPacket,必須打開(kāi)一個(gè)數(shù)據(jù)報(bào)套接字( Datagram Socket)。在 Java中,數(shù)據(jù)報(bào)套接字通過(guò)DatagramSocket類(lèi)來(lái)創(chuàng)建和訪問(wèn)。 DatagramSocket類(lèi) 1.構(gòu)造函數(shù) ? ( 1) public DatagramSocket() throws SocketException ? 功能:創(chuàng)建用于數(shù)據(jù)報(bào)通信的 socket對(duì)象,由本地主機(jī)自動(dòng)指定的一個(gè)可用的端口號(hào)。 ? ( 2) public DatagramSocket(int port) throws SocketException ? 功能:創(chuàng)建用于數(shù)據(jù)報(bào)通信的 socket對(duì)象,并且把它綁定到本地主機(jī)指定的端口 port。 ? ( 3) public DatagramSocket(int port,IAddress addr) throws SocketException ? 功能:創(chuàng)建用于數(shù)據(jù)報(bào)通信的 socket對(duì)象,并綁定到指定的本地地址 addr的指定端口 port。端口號(hào)port必須為 0和 65535之間的一個(gè)。 2.常用方法 ? ( 1) public void send(DatagramPacket p) throws IOException ? 功能:從此 socket發(fā)送數(shù)據(jù)報(bào)包。 ? ( 2) public synchronized void receive(DatagramPacket p) throws IOException ? 功能:從網(wǎng)絡(luò)接收一個(gè) UDP數(shù)據(jù)報(bào)包。存儲(chǔ)在 DatagramPacket類(lèi)對(duì)象 p中。該數(shù)據(jù)報(bào)包還包含發(fā)送方的 IP 地址和發(fā)送方主機(jī)的端口號(hào)。 ? ( 3) public IAddress getLocalAddress() ? 功能:獲取該 socket綁定的本地地址。 ? ( 4) public int getLocalPort() ? 功能:獲取該 socket綁定的本地主機(jī)的端口號(hào)。 ? ( 5) public void close() ? 功能:釋放該數(shù)據(jù)報(bào) socket所占用的端口。 例子 ? 【 例 】 獲取本地主機(jī)的時(shí)間 , 通過(guò) UDP實(shí)現(xiàn) 。 ? ( 1) 服務(wù)器端程序 ? ( 2) 客戶端程序 基于 UDP協(xié)議的 Socket編程 ? UDP協(xié)議的 Socket編程的基本步驟 ? 開(kāi)發(fā)基于 UDP協(xié)議的網(wǎng)絡(luò)應(yīng)用程序時(shí),需分別編寫(xiě)客戶端和服務(wù)器端兩個(gè)應(yīng)用程序,這兩個(gè)程序的基本架構(gòu)相似?;静襟E如下: ? ( 1)建立一個(gè) DatagramSocket對(duì)象; ? ( 2)創(chuàng)建用于接收或發(fā)送數(shù)據(jù)的DatagramPacket對(duì)象; ? ( 3)利用 DatagramSocket類(lèi)方法 receive()或send()接收或發(fā)送數(shù)據(jù)報(bào)包。 1.服務(wù)器端程序具體開(kāi)發(fā)步驟 ? ( 1)建立一個(gè) DatagramSocket對(duì)象; ? ( 2)進(jìn)入收發(fā)數(shù)據(jù)報(bào)包的循環(huán),直到客戶端數(shù)據(jù)傳送完畢。循環(huán)過(guò)程如下: ? 1)創(chuàng)建一個(gè)用于接收數(shù)據(jù)的 DatagramPakcet對(duì)象; ? 2)利用 DatagramSocket類(lèi)方法 receive()等待接收客戶端的數(shù)據(jù)報(bào)包; ? 3)處理客戶端數(shù)據(jù)報(bào)包內(nèi)容; ? 4)創(chuàng)建一個(gè)用于發(fā)送響應(yīng)信息數(shù)據(jù)的 DatagramPakcet對(duì)象; ? 5)利用 DatagramSocket類(lèi)方法 send()向客戶端發(fā)送包含響應(yīng)信息的數(shù)據(jù)報(bào)包; ? ( 3)客戶端數(shù)據(jù)傳送完畢,釋放 Socket。 2.客戶端程序具體開(kāi)發(fā)步驟 ? ( 1)建立一個(gè) DatagramSocket對(duì)象; ? ( 2)進(jìn)入發(fā)收數(shù)據(jù)報(bào)包的循環(huán),直到數(shù)據(jù)傳送完畢。循環(huán)過(guò)程如下: ? 1)創(chuàng)建一個(gè)用于發(fā)送數(shù)據(jù)的 DatagramPakcet對(duì)象,并將要發(fā)送的數(shù)據(jù)封裝到該數(shù)據(jù)報(bào)包; ? 2)利用 DatagramSocket類(lèi)方法 send()向服務(wù)器端發(fā)送數(shù)據(jù)報(bào)包; ? 3)創(chuàng)建一個(gè)用于接收響應(yīng)信息數(shù)據(jù)的 DatagramPakcet對(duì)象; ? 4)利用 DatagramSocket類(lèi)方法 receive()等待接收服務(wù)器端包含響應(yīng)信息的數(shù)據(jù)報(bào)包; ? 5)處理服務(wù)器端數(shù)據(jù)報(bào)包內(nèi)容。 ? ( 3)數(shù)據(jù)傳送完畢,釋放 Socket。 應(yīng)用舉例 ? 【 例 】 編寫(xiě)一個(gè)基于 UDP協(xié)議的 Socket網(wǎng)絡(luò)點(diǎn)對(duì)點(diǎn)聊天程序,可實(shí)現(xiàn)客戶端和服務(wù)器端信息的互發(fā)。 ? 1.編寫(xiě)服務(wù)器端程序 ? 2.編寫(xiě)客戶端程序 本章小結(jié) ? UDP協(xié)議的有關(guān)知識(shí) ? DatagramPacket類(lèi)的主要方法及應(yīng)用 ? DatagramSocket類(lèi)的主要方法及應(yīng)用 ? 基于 UDP協(xié)議的 Socket編程的基本步驟 ? 基于 UDP協(xié)議的 Socket編程實(shí)例
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1