一.網路程式設計的三要素:
1. ip:乙個計算機標識,每個計算機只有乙個,不可重複
2. 埠:每個程式會對應乙個埠,用來通訊,
有效埠:0~65535,其中
0~1024
系統使用或保留埠
3. 協議:tcp,udp
協議tcp和udp的區別:
udp:
把資料打成乙個資料報,不需要建立鏈結
資料報大小有限制,不能超過64k
無連線,屬於不可靠協議(資料可能丟失)
無連線,效率高
tcp:
需要建立連線,形成通道
資料可通過連線通道進行傳輸,無大小限制
有鏈結,屬於可靠協議
有鏈結,效率低
1.inetadress:ip位址描述類(對ip位址的獲取和操作)
public static inetaddress getbyname(string host)( host: 可以是主機名,也可以是ip位址的字串表現形式)
public string gethostaddress()返回 ip 位址字串(以文字表現形式)。
public string gethostname()獲取此 ip
位址的主機名。
2.socket(
也叫socket
程式設計,套接字程式設計,網路程式設計)
socket通訊機制:
通訊兩端都有socket
網路通訊其實就是scoket通訊
資料在兩個scoket間通過io傳輸
3.udp通訊步驟:
傳送端步驟: /*
* udp傳送資料的步驟:
* a:建立udp傳送資料端socket物件
* b:建立資料報,並給出資料,把資料打包
* c:通過socket物件傳送資料報
* d:釋放資源 */
接收端步驟:/*
* udp協議接收資料步驟:
* a:建立udp接收資料端socket物件
* b:建立乙個接收資料的資料報
* c:接收資料,資料在資料報中
* d:解析資料報,並把資料顯示在控制台
* e:釋放資源 */
// 1.建立傳送端socket物件
datagramsocket ds = new datagramsocket();
inetaddress address = inetaddress.getbyname("192.168.20.254");
int port = 9999;
// 2.建立鍵盤錄入物件
scanner sc = new scanner(system.in);
string line;
while ((line = sc.nextline()) != null)
sk.close(); //建立伺服器端的socket物件
serversocket ss = new serversocket(10010);
//監聽客戶端連線
socket sk = ss.accept();
//從sk的通道中讀取資料,一次讀取一行
bufferedreader br = new bufferedreader(new inputstreamreader(sk.getinputstream()));
bufferedwriter bw = new bufferedwriter(new filewriter("a.txt"));
//一次讀取一行資料
string line;
while ((line=br.readline())!=null)
sk.close();
bw.close();
br.close();
計網知識點總結
1.基本概念 2.必備知識點 夏農定理 在有頻寬上限和高斯雜訊干擾的通道中,通道的極限資料傳輸率 wlog2 1 s n 訊雜比 10 log10 s n 2 將模擬資料轉化為數字資料 量化 把取樣取得的電瓶幅值按照一定的分級標準轉化為對應的數字值並取整數。編碼 把量化的結果轉化為二進位制編碼 3 ...
java 11 網路程式設計
1 伺服器端通過serversocket建立監聽,客戶端通過socket連線到指定伺服器後通訊雙方就可以通過io流進行通訊。計算機網路分為物理層,資料鏈路程,網路層,傳輸層,會話層,表示層,應用層七層。2基於tcp協議的網路程式設計 ip協議只能保證計算機能傳送和接收分組資料,ip協議不能解決資料分...
java高階(三) 網路程式設計
osi模型層次結構圖 從上圖中可以看見,osi模型共分7層,每層的名稱和功能從上圖中都有簡單的解釋,在此不再贅述。1 ip位址 tcp ip tcp ip是一組用於用於實現網路互聯的通訊協議。internet網路體系結構以tcp ip為核心。基於tcp ip的參考模型將協議分為四個層次,分別是 網路...