URL類html
public URL(String spec) throws MalformedURLException
public URL(String protocol, String host,String file) throws MalformedURLException
InputStream openStream()
InetAdress類java
InetAddress類
的靜態方法getByName(String s)
;InetAddress對象
,該對象含有主機地址的域名和IP地址,該對象用以下格式表示它包含的信息:www.sina.com.cn/202.108.37.40
InetAddress類
的靜態方法getLocalHost()
得到一個InetAddress對象
,該對象含有本地機的域名和IP地址。套接字git
getInputStream()
得到一個輸入流用```getInputStream()```獲得的輸入流接到另外一個```DataInputStream```數據流上 用```getOutputStream()```獲得的輸出流接到另外一個```DataOutputStream```數據流上 - ServerSocket對象與服務器端套接字: 1.創建```ServerSocket```對象:
try{ ServerSocket serverForClient =new ServerSocket(2010); } catch(IOException e){}
2.使用方法accept()將客戶的套接字和服務器端的套接字鏈接起來
try{ Socket sc= serverForClient .accept(); } catch(IOException e){}
3.所謂「接收」客戶的套接字鏈接就是accept()方法會返回一個和客戶端Socket對象相鏈接的Socket對象。 - 使用多線程技術 爲了防止堵塞線程,服務器端收到一個客戶的套接字後,就應該啓動一個專門爲該客戶服務的線程。 UDP數據報 - 基於UDP通訊的基本模式是: 1將數據打包,稱爲數據包(比如將信件裝入信封同樣),而後將數據包發往目的地。 2.接受別人發來的數據包(比如接收信封同樣),而後查看數據包中的內容。 - 發送數據包 1.用```DatagramPacket```的如下兩個構造方法建立待發送的數據包:
DatagramPacket(byte data[],int length,InetAddtress address,int port)
DatagramPack(byte data[],int offset,int length,InetAddtress address,int port)編程
2.用```DatagramSocket```類的不帶參數的構造方法:```DatagramSocket()```建立一個對象,該對象負責發送數據包。例如:
DatagramSocket mail_out=new DatagramSocket();
mail_out.send(data_pack);服務器
- 接收數據包 1.用```DatagramSocket```的另外一個構造方法```DatagramSocket(int port)``` 建立一個對象,其中的參數必須和待接收的數據包的端口號相同。 2.對象```mail_in```使用方法```receive(DatagramPacket pack)```接受數據包。 3.用``` DatagramPack```類的另一個構造方法: ```DatagramPack(byte data[],int length)```建立一個數據包,用於接收數據包 廣播數據報 Java 遠程調用(RMI) ## 教材學習中的問題和解決過程 Q:在學習教材時,不太明白```套接字```的含義 A:通過本身查閱百度和資料,獲得了答案: - 源IP地址和目的IP地址以及源端口號和目的端口號的組合稱爲套接字。其用於標識客戶端請求的服務器和服務。 - 它是網絡通訊過程當中端點的抽象表示,包含進行網絡通訊必需的五種信息:鏈接使用的協議,本地主機的IP地址,本地進程的協議端口,遠地主機的IP地址,遠地進程的協議端口。 -- [套接字](https://baike.so.com/doc/383276-405861.html) ## 代碼調試中的問題和解決過程 ## [代碼託管](https://gitee.com/xyx-nice/20165203xyx.git) ![](https://images2018.cnblogs.com/blog/1297630/201804/1297630-20180428131837750-1573527221.jpg) ## 上週考試錯題總結 對於下列程序,哪一個敘述是正確的?
public class E {
public static void main(String args[])
Target target =new Target();
Thread thread =new Thread(target);
thread.start();
}
}
class Target implements Runnable{
public void run(){
System.out.println("ok"); }
}
```網絡
A.JVM認爲這個應用程序共有兩個線程。
B.JVM認爲這個應用程序只有一個主線程。
C.JVM認爲這個應用程序只有一個thread線程。
D.thread的優先級是10級。多線程
正解:B
解析:本題是用Thread
建立的線程,很明顯,Thread只建立了一個線程thread
。
因此,咱們在利用Thread聲明線程時,thread聲明瞭幾個線程,天然線程就有幾個。socket
本週學習了Java專門用於網絡編程的類,聯繫了計算機網絡課上學到的知識,感受收穫頗豐。學習
~ | 代碼行數(新增/累積) | 博客量(新增/累積) | 學習時間(新增/累積) | 重要成長 |
---|---|---|---|---|
目標 | 5000行 | 30篇 | 400小時 | |
第一週 | 48/48 | 1/1 | 20/20 | |
第二週 | 390/438 | 2/3 | 18/38 | |
第三週 | 886/1304 | 1/4 | 18/56 | |
第四周 | 1105/2409 | 1/5 | 30/86 | |
第五週 | 1229/3196 | 1/6 | 20/106 | |
第六週 | 1147/4343 | 2/8 | 25/131 | |
第七週 | 1862/3668 | 1/9 | 20/151 | |
第八週 | 955/5298 | 1/10 | 20/171 | |
第九周 | 1413/5801 | 1/11 | 11/182 |