java 11 網路程式設計

2021-07-28 11:45:33 字數 1955 閱讀 6353

1 伺服器端通過serversocket建立監聽,客戶端通過socket連線到指定伺服器後通訊雙方就可以通過io流進行通訊。

計算機網路分為物理層,資料鏈路程,網路層,傳輸層,會話層,表示層,應用層七層。

2基於tcp協議的網路程式設計

ip協議只能保證計算機能傳送和接收分組資料,ip協議不能解決資料分組資料在傳輸過程中可能出現的問題。

tcp協議被稱為一種端對端協議,當兩台計算機連線時,tcp協議將會讓他們建立乙個連線,用於傳送和接收資料的虛擬鏈路,tcp協議負責收集資訊包,依次傳送,

tcp使用重發機制,當乙個通訊實體傳送乙個訊息給另外乙個通訊實體後,需要收到另外乙個通訊實體的確認資訊,如果沒有收到另外乙個通訊實體的確認訊息,將會再次傳送剛才傳送的資訊。

例:

/**

* 客戶端 傳送資料

* @author shipp

*/public

class

textdemo_16

}

/**

* 服務端

* 接收資料

* @author shipp

*/public

class

textdemo_15

}}

2 基於udp協議的網路程式設計

udp協議是一種不可靠的網路協議,它在通訊的兩端各建立乙個socket,但是這兩個socket並沒有虛擬鏈路,這兩個socket只是傳送,接收資料報的物件。

udp是一種面向非連線的協議,面向非連線指的是在正式通訊之前不必與對方先建立連線,不管對方狀態就直接傳送。至於對方是否可以接收到這些資料,udp協議無法控制。因此對於udp協議而言,沒有所謂的客戶端和伺服器端的概念。

例:

public

class

udpclient

catch

(socketexception e)

// 初始化傳送用的datagramsocket,

trycatch

(unknownhostexception e1)

// 建立鍵盤輸入流

scanner scanner =

newscanner

(system.in)

;while

(scanner.

hasnextline()

)catch

(ioexception e)

// 輸出收到的位元組

system.out.

println

(new

string

(inbuff,

0, indatagrampacket

.getlength()

));}

}public

static

void

main

(string[

] args)

}

public

class

udpserver

;/**

* 接收和傳送資料

* * @throws ioexception

*/public

void

init()

throws ioexception

catch

(socketexception e)

for(

int i =

0; i <

1000

; i++)}

public

static

void

main

(string[

] args)

catch

(exception e)

}}

對於socket關閉的問題。如果關閉了流,則關閉了socket,一般不關閉流,關閉socket即可。

未完待續。。。

11 網路程式設計

目錄 軟體結構 網路程式設計三要素 協議 通訊的規則 埠號 唯一標識計算機中的每乙個程序 tcp通訊程式 socket類 成員方法 serversocket類 通訊過程注意事項 socket.shutdownoutput 通訊過程優化 inputstreamreader類 c s b s tcp 特...

day11 網路程式設計

主要內容 tcp ip四層模型tcp面向連線 三次握手 第一次握手,客戶端向伺服器端發出連線請求,等待伺服器確認。第二次握手,伺服器端向客戶端回送乙個響應,通知客戶端收到了連線請求。第三次握手,客戶端再次向伺服器端傳送確認資訊,確認連線 udp面向無連線 不需要建立連線,直接傳送,每個資料報大小在6...

java高階(三) 網路程式設計

osi模型層次結構圖 從上圖中可以看見,osi模型共分7層,每層的名稱和功能從上圖中都有簡單的解釋,在此不再贅述。1 ip位址 tcp ip tcp ip是一組用於用於實現網路互聯的通訊協議。internet網路體系結構以tcp ip為核心。基於tcp ip的參考模型將協議分為四個層次,分別是 網路...