標籤(空格分隔): javahtml
Answer:
基本框架:
java
ping www.baidu.com
與ping cec.jmu.edu.cn
,分析返回結果有何不一樣?爲何會有這樣的不一樣?Answer:
結果分別以下:
分析:
1.回覆的地址不一樣:
2.回覆時間不一樣:
在集美離廈門市的服務器的距離近,因此回覆的時間比較快。百度的服務器在廣州,因此回覆時間比較慢。web
3.www.a.shifen.com和jmuweb2.jmu.edu.cn
打開地址結果分別以下:
爲何打不開百度?
這涉及cname解析和DNS解析的內容。
給個問題回答連接:十分系統(www.a.shifen.com)是幹什麼的?和百度有什麼關係?
根本不是咱們學院的主頁,這是爲何?
cec.jmu.edu.cn和jmuweb2.jmu.edu.cn使用的同一臺主機210.34.128.152。編程
telnet bbs.newsmth.net
,上面這條命令鏈接的是遠程主機的什麼端口號?Answer:
這個是常識。telnet的端口號就是23。
若是不知道的話,能夠嘗試在命令提示符窗口用netstat命令查詢。小程序
telnet cec.jmu.edu.cn 80
,嘗試回答:你從屏幕看到的是一些什麼內容?返回的內容是否是cec.jmu.edu.cn的主頁內容?嘗試使用GET /index HTTP/1.0命令,會返回什麼?見實驗任務書題目1Answer:
1.telnet cec.jmu.edu.cn 80 後無任何返回結果;
2.GET /index HTTP/1.0命令,獲得結果以下:
瀏覽器
ConnectionWatcher
, 而後啓動若干個能夠聯網的程序(如QQ, telnet,瀏覽器等),查看本機上有什麼程序聯網,使用了什麼端口?QQ佔用了什麼端口和那些遠程IP進行交互,這些IP分佈地在那裏?使用了什麼協議進行通訊?Answer:
部分截圖以下:
1.其實不管是QQ仍是其餘的一些軟件,都用443(https)、80(http)端口與遠程IP交互。
2.QQIP分佈在哪裏,查詢以下:
3.使用了TCP協議服務器
參考:實驗任務書-題目1
Socket;域名;輸入與輸出流;TCP和UDP協議;網絡
Answer:
多線程
要控制檯輸入,好吧,在下面:
併發
Answer:
顯示內容實際上是同樣的,以下:
***
Answer:
沒有任何返回結果。
改進後:
//沒有發送Get得到網站文檔,因此改進代碼以下: pw.println("GET / HTTP/1.0"); pw.println("");
嘗試使用Client.java
鏈接該TCP Server,併發送信息。
回答:如今的Client.java
只能發送信息或者接收信息,可否改造Client.java
使其能夠與服務器進行交互(服務器能夠發送信息給Client,Client
也可發送信息給服務器),寫出大概思路便可。
Answer:
如題目一同樣。
Answer:
參考:實驗任務書-題目3
參考:EchoServer.java,ThreadedEchoServer.java (多線程服務器)
文件搜索
功能爲選作?Answer:
主界面:
查詢時間:
查詢IP:
退出:
(參考:UDPServer.java
)
Answer:
主界面和操做1:
操做2:
操做4(退出):
Answer:
編寫網絡程序涉及到了輸入流和輸出流。QQ、聊天室、網絡遊戲收發數據選擇字符流,達到服務器與客戶端的通訊。
閱讀ServerAndThread目錄中的源代碼
Answer:
功能:實現客戶端與服務端之間的通訊。
Answer:
ClientChart | ClientListener | ClientReadThread |
---|---|---|
設置客戶端界面 | 客戶端的監聽器 | 客戶端讀取線程 |
ServerChart | ServerReadThread | SeverActionListener |
設置服務端界面 | 服務端讀取線程 | 服務端的監聽器 |
Answer:
如圖客戶端沒法辨別哪一個是本身仍是服務器發送的信息。而服務端的輸出格式不美觀。
在碼雲的項目中,依次選擇「統計-Commits歷史-設置時間段」, 而後搜索並截圖
Answer:
Trail: Custom Networking
主要看Overview of Networking,Working With URLs,All About Sockets,All About Datagrams
Answer:
Overview of Networking:
網絡的概述有兩個部分。第一部分描述java平臺的網絡功能,介紹了applet和從url加載圖片的內容。第二部分介紹網絡基礎知識,瞭解TCP與UDP的不一樣(TCP:是一個面向鏈接的協議,它提供了一個可靠的兩臺計算機之間的數據流;UDP:是一種協議,獨立數據包發送的數據,稱爲數據報,從一臺計算機到另外一個沒有擔保的到來),瞭解了端口。
在互聯網上互相交流使用傳輸控制協議(TCP)和用戶數據報協議(UDP)的關係圖以下:
Working With URLs:
基本概念:可使用URL來訪問互聯網上的信息,一個URL(統一資源定位器)是資源在互聯網上的地址。
文章思路:網址是什麼——>建立URL——>解析URL——>用BufferedReader直接從URL讀取——>鏈接URL——>讀入和寫入URLConnection
All About Sockets:
介紹了套結字。套接字,是支持TCP/IP的網絡通訊的基本操做單元,能夠看作是不一樣主機之間的進程進行雙向通訊的端點,簡單的說就是通訊的兩方的一種約定,用套接字中的相關函數來完成通訊過程。
讀取和寫入套接字的源碼:
String hostName = args[0]; int portNumber = Integer.parseInt(args[1]); try ( Socket echoSocket = new Socket(hostName, portNumber); PrintWriter out = new PrintWriter(echoSocket.getOutputStream(), true); BufferedReader in = new BufferedReader( new InputStreamReader(echoSocket.getInputStream())); BufferedReader stdIn = new BufferedReader( new InputStreamReader(System.in)) )
後面還有編寫一個客戶端/服務器的介紹。
All About Datagrams:
數據包簡介:一個自我完備的獨立資料實體,攜帶着足夠的資訊,它可以從源頭,選取路徑,最終到達目的電腦,而不用依賴起始電腦、目的電腦以及傳輸網絡預先交換的資訊。
後面還講解了如何寫一個數據的客戶端和服務器,最後講怎麼廣播到各個接受者。
Answer:
廖雪峯網站上的只是http協議的簡介,想深刻了解能夠閱讀《HTTP權威指南》。若是以爲權威指南生澀,能夠看我以前看過的是圖解HTTP,加上火狐的幾個插件,去操做而後分析就行了。
固然用Google瀏覽器直接按F12啓動開發者工具去學習也不錯。
Java編程技巧:小爬蟲程序.docx
Answer:
做者的思路:
1. 把全部想要的商品的連接讀到程序中。
2. 分別打開每個連接讀取源代碼
3. 驗證是不是金子商品(源代碼中含有free_msg字符串)
4. 若是是金子就把該連接用IE打開
代碼主體就是URL類實現得到連接和連接上的輸出流,Digger類實現判斷是否爲金子,而後打開連接。
使用java中的Socket、URL、URLConnection,而後遵循HTTP協議也能夠編寫一個小程序,和能夠查詢成績的HTTP服務器進行交流。然而直接使用Socket編程較麻煩,這時候咱們可使用HTTPComponent。
HTTPComponent相比傳統JDK自帶的URLConnection,增長了易用性和靈活性
Answer:
工欲善其事,必先利其器。先留下個學習網站:HttpClient 教程