11 網路程式設計

2021-10-03 07:43:57 字數 2120 閱讀 5574

目錄

軟體結構:

網路程式設計三要素:

協議:通訊的規則

埠號:唯一標識計算機中的每乙個程序

tcp通訊程式:

socket類:

成員方法:

serversocket類

通訊過程注意事項:

socket.shutdownoutput()

通訊過程優化:

inputstreamreader類:

c/s

b/s

tcp

特點udp

特點ipv4

4個位元組

ipv6

16個位元組

門牌號

常用埠:

網路埠:80,不寫也會預設新增

資料庫埠:

mysql:3306

oracle:1521

tomcat伺服器:8080

伺服器與客戶端需要建立乙個連線,這個連線是一個io物件,這個物件是乙個位元組流物件,因為要傳輸的資料不可能僅僅是字元,還有其他型別的資料

伺服器沒有自己的io流,伺服器使用accept方法獲取客戶端的socket物件,而socket物件中包含著客戶端的io流物件,用這種方法也可以實現伺服器和多個客戶端裝置進行通訊

其中包括了ip位址、埠號和流物件

當建立socket類時,客戶端就會去請求伺服器並和伺服器經過3次握手建立連線通路

public inputstream getinputstream(): 返回此套接字的輸入流。

使用此輸入流讀取伺服器發來的資料

public outputstream getoutputstream(): 返回此套接字的輸出流。

使用此輸出流向伺服器傳送資料

**:

socket socket =newsocket("127.0.0.1", 8888);

outputstream os = socket.getoutputstream();

os.write("hello server!!!".getbytes());

socket.close();

構造方法:

埠號可以隨便寫

要先啟動伺服器端

先啟動客戶端的話會報錯

最後一定要把能關閉的流全部關閉

作用:

在客戶端的輸出流中寫入乙個結束標誌

原理:

客戶端向伺服器端傳送資料時,在while迴圈中,當讀取到結束標誌時就會跳出while迴圈,而沒有把最後的結束標誌傳送出去,伺服器端沒有接受到結束標誌就會一直等待,造成兩端無法正常結束

檔案命名:

根據系統時間確定檔案名字

迴圈接收:

多執行緒提高效率:

要使用try...catch處理異常,因為run方法是沒有像上層丟擲異常的

訊息回寫:

是位元組流到字元流的橋梁,可以將位元組流轉化字元流

方法:inputstreamreader( inputstream in )返回乙個reader的子類物件

java 11 網路程式設計

1 伺服器端通過serversocket建立監聽,客戶端通過socket連線到指定伺服器後通訊雙方就可以通過io流進行通訊。計算機網路分為物理層,資料鏈路程,網路層,傳輸層,會話層,表示層,應用層七層。2基於tcp協議的網路程式設計 ip協議只能保證計算機能傳送和接收分組資料,ip協議不能解決資料分...

day11 網路程式設計

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

39 網路程式設計

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