1.一個URL對象一般包含最基本的三部分信息:協議、地址、資源html
2.構造方法:java
public URL(String spec) throws MalformedURLException
git
public URL(String protocol, String host,String file) throws MalformedURLException
服務器
3.URL對象調用網絡
InputStream openStream()
方法能夠返回一個輸入流,該輸入流指向URL對象所包含的資源。經過該輸入流能夠將服務器上的資源讀入到客戶端socket
1.獲取Internet上主機的地址學習
使用InetAddress
類的靜態方法getByName(String s);
得到一個InetAddress
對象,該對象含有主機地址的域名和IP地址。url
2.獲取本地機的地址設計
使用InetAddress
類的靜態方法getLocalHost()
得到一個InetAddress
對象,該對象含有本地機的域名和IP地址。調試
當兩個程序須要通訊時,它們能夠經過使用Socket類創建套接字對象並鏈接在一塊兒(端口號與IP地址的組合得出一個網絡套接字。
1.客戶端套接字
創建鏈接到服務器的套接字對象:
try{ Socket mysocket=new Socket(「http://192.168.0.78」,1880); } catch(IOException e) { }
與mysocket
相關的方法
getInputStream()
得到一個輸入流getOutputStream()
得到一個輸出流getInputStream()
獲得的輸入流接到另外一個DataInputStream
數據流上getOutputStream()
獲得的輸出流接到另外一個DataOutputStream
數據流上創建ServerSocket
對象:
try{ ServerSocket serverForClient =new ServerSocket(2010); } catch(IOException e){}
使用方法accept()
將客戶的套接字和服務器端的套接字鏈接起來,代碼以下所示:
try{ Socket sc= serverForClient .accept(); } catch(IOException e){}
基於UDP通訊的基本模式是:
1.將數據打包,稱爲數據包(比如將信件裝入信封同樣),而後將數據包發往目的地。
2.接受別人發來的數據包(比如接收信封同樣),而後查看數據包中的內容。
發送數據包:
用DatagramPacket
類將數據打包,即用DatagramPacket
類建立一個對象,稱爲數據包。用DatagramPacket
的如下兩個構造方法建立待發送的數據包:
DatagramPacket(byte data[],int length,InetAddtress address,int port)
DatagramPack(byte data[],int offset,int length,InetAddtress address,int port)
用DatagramSocket
類的不帶參數的構造方法:DatagramSocket()
建立一個對象,該對象負責發送數據包。例如:
DatagramSocket mail_out=new DatagramSocket();
mail_out.send(data_pack);
接受數據包
首先用DatagramSocket
的另外一個構造方法DatagramSocket(int port)
建立一個對象,其中的參數必須和待接收的數據包的端口號相同。例如,若是發送方發送的數據包的端口是5666,那麼以下建立DatagramSocket對象:
DatagramSocket mail_in=new DatagramSocket(5666);
而後對象mail_in
使用方法receive(DatagramPacket pack)
接受數據包。
用 DatagramPack
類的另一個構造方法: DatagramPack(byte data[],int length)
建立一個數據包,用於接收數據包,例如:
byte data[]=new byte[100]; int length=90; DatagramPacket pack=new DatagramPacket(data,length); mail_in.receive(pack);
該數據包pack將接收長度是length字節的數據放入data
問題1:運行Java遠程調用的例子時,提示找不到RemoteSubject類
問題1解決方案:根據IDEA提示,將ClientApplication類也放入sever包中便可正常運行。
倉庫又被我搞炸了。。
教材學習中的問題和解決過程, 一個問題加1分
代碼調試中的問題和解決過程, 一個問題加1分
基於評分標準,我給本博客打分:XX分。得分狀況以下:xxx
xxx
xxx
代碼行數(新增/累積) | 博客量(新增/累積) | 學習時間(新增/累積) | 重要成長 | |
---|---|---|---|---|
目標 | 5000行 | 30篇 | 400小時 | |
第一週 | 6/6 | 1/1 | 20/20 | |
第二週 | 245/251 | 1/2 | 18/38 | |
第三週 | 633/884 | 1/3 | 22/60 | |
第四周 | 305/1189 | 1/4 | 30/90 | |
第五週 | 410/1599 | 3/7 | 30/120 | |
第六週 | 1135/2734 | 3/10 | 30/150 | |
第七週 | 781/3515 | 3/13 | 30/180 | |
第八週 | 710/4225 | 3/16 | 30/210 | |
第九周 | 775/5000 | 2/18 | 30/240 | |
第十週 | 933/5933 | 1/19 | 30/270 | |
第十一週 | 691/6624 | 2/21 | 30/300 |
嘗試一下記錄「計劃學習時間」和「實際學習時間」,到期末看看能不能改進本身的計劃能力。這個工做學習中很重要,也頗有用。
耗時估計的公式
:Y=X+X/N ,Y=X-X/N,訓練次數多了,X、Y就接近了。
計劃學習時間:XX小時
實際學習時間:XX小時
改進狀況:
(有空多看看現代軟件工程 課件
軟件工程師能力自我評價表)