day11 網路程式設計

2021-09-05 11:11:06 字數 2002 閱讀 2979

主要內容

tcp/ip四層模型
tcp面向連線

三次握手

第一次握手,客戶端向伺服器端發出連線請求,等待伺服器確認。

第二次握手,伺服器端向客戶端回送乙個響應,通知客戶端收到了連線請求。

第三次握手,客戶端再次向伺服器端傳送確認資訊,確認連線

udp面向無連線

不需要建立連線,直接傳送,每個資料報大小在64k以內。傳輸速度快,容易丟失資料。

通訊步奏:

1.serversocket物件:服務端server先啟動,等待客戶端client連線

2.socket物件:客戶端主動連線伺服器端,連線成功草能通訊

客戶端套接字

構造方法
public

socket

(string host,

int port)

:建立套接字物件連線到指定ip的指定埠號。

如果host=null,則相當於指定位址為回送位址127.0

.0.1

socket client =

newsocket

("127.0.0.1"

,6666

);

成員方法
public inputstream getinputstream

() : 返回輸入流

如果此scoket具有相關聯的通道,則關閉生成的inputstream也將關閉相關的socket。

public outputstream getoutputstream

() :返回輸出流。

如果此scoket具有相關聯的通道,則關閉生成的outputstream也關閉相關的socket。

public

void

close

() :關閉此套接字。

關閉此socket也將關閉相關的inputstream和outputstream 。

public

void

shutdownoutput

() : 禁用此套接字的輸出流。

任何先前寫出的資料將被傳送,隨後終止輸出流

伺服器套接字

構造方法
public

serversocket

(int port)

:建立serversocket繫結埠號port。

serversocket server =

newserversocket

(6666

);

成員方法
public socket accept()

;偵聽並接受連線,返回socket物件用於和客戶端通訊,

該方法一直堵塞知道建立連線

1.【服務端】啟動,建立serversocket物件,等待連線

2.【客戶端】啟動,建立socket物件,請求連線

3.【服務端】接受連線,呼叫accept方法,返回乙個socket物件

4.【客戶端】socket物件獲取outputstream,向伺服器寫出資料

5.【服務端】socket物件獲取inputstream,讀取客戶端的資料

6.【服務端】socket物件獲取outputstream,向客戶端回寫資料

7.【客戶端】socket物件獲取inputstream,解析回寫的資料

8【客戶端】釋放資源,斷開連線

11 網路程式設計

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

C 基礎程式設計DAY11

求乙個整數各位數之和的函式 include include using namespace std intgetsum int n return sum int main 寫乙個函式,判斷某個數是否素數,以及求1 1000以內的素數 include include include using nam...

day26 網路程式設計

day26授課目錄 b 網路程式設計 tcp 面向連線 三次握手 資料安全,速度略低。分為客戶端和服務端。通訊的兩端都有socket。網路通訊其實就是socket間的通訊。資料在兩個socket間通過io流傳輸。socket在應用程式中建立,通過一種繫結機制與驅動程式建立關係,告訴自己所對應的ip和...