網路程式設計 TCP

2021-08-07 06:48:09 字數 1746 閱讀 5330

客戶端:

1..建立客戶端的socket服務,指定目的主機和埠

2..為了傳送資料,應該獲取socket中的輸出流

3..獲取socket中的輸入流來獲取服務端的反饋資料

4..關閉資源

服務端:

1..建立服務端的serversocket服務,並監聽乙個埠

2..通過accept方法 等待並獲取連線過來的客戶端socket物件

3..獲取客戶端傳送過來的資料(使用客戶端socket的輸入流來讀取資料)

4..反饋資料到該客戶端(使用客戶端socket的輸出流來寫出資料)

5..關閉資源

1..客戶端併發登入,服務端處理並反饋

/*

* 客戶端

*/class client

system.out.println("server message:"+mess);

}if(i>=3)

system.out.println("錯誤次數太多");

s.close();

br.close();}}

/*

*服務端

*/class

server

}}class

serverthread

implements

runnable

public

void run()

}if(flag == true)

else

out.println("使用者名稱不存在");

}s.close();

}catch(exception e)}}

2..客戶端併發上傳,服務端接收並反饋

/*

* 客戶端

*/class uploadclient

s.shutdownoutput(); //寫完..結束標記

bufferedreader bin = new bufferedreader(new inputstreamreader(s.getinputstream())); //源-讀取socket輸入流

string mess = bin.readline(); //伺服器反饋的資訊

system.out.println(mess);

s.close();

fin.close();}}

/*

* 服務端

* /class uploadserver

}}class uploadthread implements runnable

public

void run()

printwriter out = new printwriter(s.getoutputstream(),true); //目的-socket輸出流,包裝成列印流

out.println("上傳成功"); //反饋給客戶端

fi.close();

s.close();

} catch (exception e) }}

TCP網路程式設計

基於tcp 通訊模型 由上圖可以得出tcp通訊的步驟如下 服務端 1 建立乙個socket,用函式socket 2 繫結ip位址 埠等資訊到socket上,用函式bind 3 設定允許的最大連線數,用函式listen 4 等待來著客戶端的連線請求,用函式accept 5 收發資料,用函式send 和...

網路程式設計 TCP

即有傳送緩衝區 接收緩衝區,傳送次數和接收次數不一定對等。報頭長,成本高,需要搭載更多的資料。1.三次握手 通過對ack的確認,建立可靠連線。有超時重傳機制 2.四次揮手 有可能伺服器處理資料的時間較短,即三次揮手 3.狀態圖 2 保證遲來的資料報能被識別並丟棄 4.tcp狀態轉移過程 5.tcp報...

網路程式設計 TCP

網路程式設計的傳輸層協議一般分為udp和tcp 其中tcp協議是面向連線的,可靠的,流式服務的協議。簡而言之就是安全性完整性更高的,但效率低於udp的協議。本文將重點涉及linux下具體的採取tcp協議的網路程式設計 實現。首先最基本的要有兩份 即伺服器端和客戶端各乙份。伺服器端程式設計流程如下 1...