目錄
軟體結構:
網路程式設計三要素:
協議:通訊的規則
埠號:唯一標識計算機中的每乙個程序
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...