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

正文內(nèi)容

ip協(xié)議的網(wǎng)絡(luò)監(jiān)聽程序設(shè)計課程設(shè)計(編輯修改稿)

2024-12-22 17:15 本頁面
 

【文章內(nèi)容簡介】 Field targetPortTf=new JTextField(8080,15)。 private JButton addBtn=new JButton(Add)。 private GridBagLayout gbl=new GridBagLayout()。 private GridBagConstraints gbc=new GridBagConstraints()。 private JTabbedPane tabbedPane。 public AdminPanel(JTabbedPane tabbedPane) { =tabbedPane。 initComponent()。 } private void initComponent(){ //步驟一:選擇容器 //步驟二:選擇布局管理器 基于 TCP/IP 協(xié)議的網(wǎng)絡(luò)監(jiān)聽程序設(shè)計 第 9 頁 共 27 頁 9 setLayout(gbl)。 //步驟三:加入組件 addComponent(titleLb, )。 addComponent(listenPortLb, 1)。 addComponent(listenPortTf, )。 addComponent(hostNameLb, 1)。 addComponent(hostNameTf, )。 addComponent(targetPortLb, 1)。 addComponent(targetPortTf, )。 addComponent(addBtn, )。 //步驟四:加入事件處理器 (new ActionListener(){ public void actionPerformed(ActionEvent arg0) { String listenPort=()。 String hostName=()。 String targetPort=()。 String msg=。 int i=1。 if(listenPort==null||().length()==0) msg+=i++ + . Please input valid listen port. \r\n。 if(hostName==null||().length()==0) msg+=i++ + . Please input valid hostname.\r\n。 if(targetPort==null||().length()==0) msg+=i++ + . Please input valid target port.\r\n。 if(()0) { (null, msg)。 return。 } try { URLInfo urlInfo=new URLInfo((listenPort), 基于 TCP/IP 協(xié)議的網(wǎng)絡(luò)監(jiān)聽程序設(shè)計 第 10 頁 共 27 頁 10 hostName, (targetPort))。 MonitorPanel monitorPanel=new MonitorPanel(tabbedPane,urlInfo)。 (monitorPanel,Port +listenPort)。 }catch(Exception e) { (null, ())。 } } })。 } private void addComponent(Component c, int gridwidth){ =gridwidth。 (c, gbc)。 add(c)。 } } 其構(gòu)造出來的界面如下圖所示: 圖 主界面圖 基于 TCP/IP 協(xié)議的網(wǎng)絡(luò)監(jiān)聽程序設(shè)計 第 11 頁 共 27 頁 11 網(wǎng)絡(luò)實現(xiàn) 1 執(zhí)行 Class MonitorSend extends Thread { private Socket socket。 該段程序為持有想訪問的 Web 服務(wù) 器中資源的路徑 ,比如說 : / 或/images/ 等。 調(diào)用字符串函數(shù)并執(zhí)行循環(huán)體如下: try { cin=new BufferedReader( new InputStreamReader(()) )。 String s=()。 這時 s 的內(nèi)容類似于 :GET / HTTP/。 public synchronized void setFileName(String s) { String[] str=( )。 fileName=str[1]。 notifyAll()。 } } 2 網(wǎng)絡(luò)實現(xiàn)主體函數(shù)是 ServerSocket,。調(diào)用 URL,對其監(jiān)聽端口,主機名,網(wǎng)絡(luò)目的地址進(jìn)行設(shè)定。 執(zhí)行 catch(Exception e) { (monitorPanel,())。 }finally{ try{ if(serverSocket!=null)()。 }catch(Exception e){} } } public void close() { 基于 TCP/IP 協(xié)議的網(wǎng)絡(luò)監(jiān)聽程序設(shè)計 第 12 頁 共 27 頁 12 try{ if(serverSocket!=null)()。 }catch(Exception e){} } 該段程序通過其循環(huán)語句的實現(xiàn)值來體現(xiàn)瀏覽器向 web 服務(wù)器提交的信息。 3 用來顯示 Web 服務(wù)器返回給瀏覽器的信息 class MonitorReceive extends Thread { private Socket socket。 private MonitorSend send。 public MonitorReceive(Socket socket,MonitorSend send) { =socket。 =send。 } public void run() { PrintStream cout=null。 // Monitor 程序至瀏覽器的輸出流 BufferedInputStream sin=null。 // Web 服務(wù)器至 Monitor 程序的輸入流 StringBuffer sb=new StringBuffer()。 // Web 服 務(wù)器響應(yīng)內(nèi)容 這樣從服務(wù)器到瀏覽器,從瀏覽器到服務(wù)器。在都次循環(huán)語句執(zhí)行下,監(jiān)聽器開始執(zhí)行其工作。即截獲網(wǎng)址,以及改次請求發(fā)送過程中的數(shù)據(jù)包。其中包括包頭的信息。 5 程序的實現(xiàn)與測試 模型 圖 B/S 模型 總體設(shè)計很簡單,就是當(dāng)本機想訪問某個網(wǎng)頁時,其中間放置了一個監(jiān)聽器。如圖基于 TCP/IP 協(xié)議的網(wǎng)絡(luò)監(jiān)聽程序設(shè)計 第 13 頁 共 27 頁 13 所示。該監(jiān)聽器將發(fā)送端的數(shù)據(jù)包,包括其字節(jié)頭等,通過監(jiān)聽器顯示出來,而其接受網(wǎng)頁方在受到訪問后所作出的工作也將在監(jiān)聽器上得以體現(xiàn)。 測試步驟 根據(jù)以上代碼首先設(shè)計出圖形界面如圖 52 所示: 圖 軟件界面 如圖可以看出其需要輸出監(jiān)聽端口,目的主機名和目的端口的值。目的主機為其要訪問的網(wǎng)址的 IP 地址,打個比方,如想訪問 ,則需先找到其對應(yīng)的 IP地址,可在運行平臺由 ping 命令獲得:如圖 所示: 圖 查找訪問頁面地址 基于 TCP/IP 協(xié)議的網(wǎng)絡(luò)監(jiān)聽程序設(shè)計 第 14 頁 共 27 頁 14 根據(jù)以上所提供的數(shù)據(jù),將其數(shù)值輸入到相應(yīng)的對話框,如圖 所示 圖 輸入 IP 地址后的圖 在網(wǎng)頁中輸入 port1542 既可得到數(shù)據(jù)輸出,如圖 所示: 圖 訪問網(wǎng)頁截獲其數(shù)據(jù)圖 從圖中可以很清楚地看出其輸出的數(shù)據(jù)和其輸入的數(shù)據(jù)。而這其中不僅僅是包含了網(wǎng)址那么簡單,從數(shù)據(jù)包的頭,到一些具體的內(nèi)容都可以顯現(xiàn)到我們的監(jiān)聽器當(dāng)中。因為其發(fā)送和接受的數(shù)據(jù)都被截獲 [4],所以可以說這個程序是成功的。其功能得到了很好的發(fā)揮。若輸入其網(wǎng)址端口后,其值不能正常顯示出來,發(fā)送和接受都沒有得到的話,基于 TCP/IP 協(xié)議的網(wǎng)絡(luò)監(jiān)聽程序設(shè)計 第 15 頁 共 27 頁 15 那說明此次截獲是失敗的。也就是說其監(jiān)聽器的功能 沒有能夠很好的體現(xiàn)。監(jiān)聽器所實現(xiàn)的功能就是網(wǎng)頁與網(wǎng)頁的互訪 [5],而其中的數(shù)據(jù)和內(nèi)容將被大量的顯現(xiàn)出來。讓我們更好的看到其內(nèi)容。 6 結(jié)束語 時間過得真快,二周的課程設(shè)計在忙碌中結(jié)束了。 Java 對于我而言是個極其生僻的詞匯 ,可現(xiàn)在的自己卻作出來一個東西。感覺不可思議
點擊復(fù)制文檔內(nèi)容
畢業(yè)設(shè)計相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1