學習筆記09 網路程式設計

2021-07-06 02:00:30 字數 1883 閱讀 1091

網路程式設計:scoke程式設計(通訊),套接字程式設計

傳送端:

1、建立傳送端socket物件(datagramsocket類)。

2、建立資料報包。(datagrampacket類)

datagrampacket(要傳送的內容-位元組陣列形式,陣列的長度,ip位址,埠號);

怎麼獲取自己的ip位址?

inetaddress.getbyname(主機名或者ip位址);

3、呼叫datagramsocket類的send()方法傳送資料報。

4、關閉傳送端socket物件。

接收端:

1、建立接收端socket物件(datagramsocket類)。

2、建立資料報包接收傳送端傳過來的資料。

public datagrampacket(byte buf, int length)

3、呼叫datagramsocket類的receive()方法接收傳過來的資料。

socket.receive(datagrampacket類的物件);

4、從資料報中獲取資料:

getdata();  從資料報中獲取資料(位元組資料形式)

getlength(); 獲取有效的資料的位元組長度。

//inetaddress 可以看做是ip位址的包裝類

datagrampacket類的物件.getaddress().gethostaddress();  //返回的是字串型別的ip位址

datagrampacket類的物件.getport();   //獲取埠號(int型別)

5、把接收到的資料轉成字串,並列印(可寫可不寫)

6、關閉接收端socket物件。

tcp協議:

特點:面向有連線(三次握手),資料安全,速度低。區分客戶端和服務端的。

udp協議傳送和接收資料:

普通版(只實現傳送和接收就可以了)。

不斷傳送和接收。(while改進)

傳送端和接收端在乙個視窗。(多執行緒改進版)

小案例:

gui改進版。(不作為重點掌握,有時間了玩兒玩兒就行)

傳送:actionlistener

記錄:把聊天記錄寫入到乙個文字檔案中。(注意:是追加寫入)

//實際開發中,這些資訊都是存在資料庫中的。

清屏:震動:

原理:在兩個(多個座標)進行快速的切換。

如何實現震動的?

判斷傳過來的位元組陣列的首個位元組時候是-1,如果是,就震動,並且停止本次傳送。

如果不是,就正常傳送。

快捷鍵:

新增乙個鍵盤監聽,keylistener

生成jar包:

tcp協議:

需要建立連線(三次握手),速度慢,資料是安全的。

客戶端:

1、建立乙個客戶端socket物件(指定ip和埠號),通過ip位址和連線對應的伺服器。

2、通過socket類的getinputstream()方法和getoutputstream()方法獲取和伺服器端相連的io流。

客戶端輸入流可以讀取 伺服器端輸出流寫出的內容

客戶端輸出流可以寫出 資料 到伺服器端輸入流

伺服器端:

1、建立伺服器端socket物件(指定埠)。

建立serversocket類的物件。

2、監聽連線。

呼叫serversocket類中的accept()方法建立和該客戶端通訊的socket物件。

3、通過socket類的getinputstream()方法和getoutputstream()方法獲取和客戶端端相連的io流。

伺服器端輸入流可以讀取 客戶端端輸出流寫出的內容

伺服器端輸出流可以寫出 資料 到客戶端輸入流

用多執行緒改進伺服器端:

用匿名內部類的方式把伺服器端的 讀寫資料的**給封裝起來就可以了。

39 網路程式設計

http協議,hyper text transfer protocol 超文字傳輸協議 是用於從全球資訊網伺服器傳送超文字到本地瀏覽器的傳輸議,http是乙個應用層協議,由請求和響應構成,是乙個標準的客戶端伺服器模型。c s模式 client和server常常分別處在相距很遠的兩台計算機上,clie...

2018 4 15 網路程式設計

單純的客戶端服務端有個侷限性,a客戶端連線上以後,未處理完之前,b客戶端連線只有等待 所以服務端最好將每個客戶端封裝到乙個執行緒中 class picthread implements runnable public void run outputstream out s.getoutputstre...

013 網路程式設計

ip 位址就是標識網路中裝置的乙個位址,好比現實生活中的家庭位址。ipv4 是目前使用的ip位址 ipv6 是未來使用的ip位址 ipv4 是由點分十進位制組成 ipv6 是由冒號十六進製制組成 ip 位址的作用是標識網路中唯一的一台裝置的,也就是說通過ip位址能夠找到網路中某台裝置。說明 ifco...