7 1 網路程式設計(上)

2021-10-25 06:47:32 字數 3856 閱讀 7388

dos常用命令:

埠號 協議

udp協議

tcp協議

構造方法

方法名說明

datagramsocket()

建立資料報套接字並將其繫結到本機位址上的任何可用埠

datagrampacket(byte buf,int len,inetaddress add,int port)

建立資料報,傳送長度為len的資料報到指定主機的指定埠

相關方法

方法名說明

void send(datagrampacket p)

傳送資料報包

void close()

關閉資料報套接字

void receive(datagrampacket p)

從此套接字接受資料報包

傳送資料的步驟

**演示

public

class

senddemo

}

構造方法

方法名說明

datagrampacket(byte buf, int len)

建立乙個datagrampacket用於接收長度為len的資料報

相關方法

方法名說明

byte getdata()

返回資料緩衝區

int getlength()

返回要傳送的資料的長度或接收的資料的長度

示例**

public

class

receivedemo

}}

**實現

// 傳送端

public

class

clinetdemo

}// 接收端

public

class

serverdemo

}

**實現

// 傳送端

public

class

clientdemo

}// 接收端

public

class

serverdemo

}

構造方法

方法名說明

socket(inetaddress address,int port)

建立流套接字並將其連線到指定ip指定埠號

socket(string host, int port)

建立流套接字並將其連線到指定主機上的指定埠號

相關方法

方法名說明

inputstream getinputstream()

返回此套接字的輸入流

outputstream getoutputstream()

返回此套接字的輸出流

示例**

**實現

// 客戶端

public

class

clientdemo

br.close()

; os.

close()

; socket.

close()

;}}// 伺服器

public

class

serverdemo

system.out.

println

("看看我執行了嗎?");

bufferedwriter bw =

newbufferedwriter

(new

outputstreamwriter

(accept.

getoutputstream()

)); bw.

write

("你誰啊?");

bw.newline()

; bw.

flush()

; bw.

close()

; is.

close()

; accept.

close()

; ss.

close();}}

相關方法

方法名說明

void shutdowninput()

將此套接字的輸入流放置在「流的末尾」

void shutdownoutput()

禁止用此套接字的輸出流

**實現

// 客戶端

public

class

clientdemo

bos.

flush()

;//給伺服器乙個結束標記,告訴伺服器檔案已經傳輸完畢

socket.

shutdownoutput()

; bufferedreader br =

newbufferedreader

(new

inputstreamreader

(socket.

getinputstream()

)); string line;

while

((line = br.

readline()

)!=null)

bis.

close()

; socket.

close()

;}}// 伺服器

public

class

serverdemo

bufferedwriter bw =

newbufferedwriter

(new

outputstreamwriter

(accept.

getoutputstream()

)); bw.

write

("上傳成功");

bw.newline()

; bw.

flush()

; bos.

close()

; accept.

close()

; ss.

close();}}

優化方案二

優化方案三

優化方案四

需求:我要把資料寫到緩衝區中。

資料是從外面進入到緩衝區的,所以緩衝區在做讀資料的操作。

需求:我要把資料從緩衝區中讀出來。

資料是從緩衝區裡面到外面的。所以緩衝區在做寫資料的操作。

capacity:容量(長度)

limit: 界限(最多能讀/寫到**)

posotion:位置(讀/寫哪個索引)

獲取緩衝區裡面資料之前,需要呼叫flip方法

再次寫資料之前,需要呼叫clear方法,

但是資料還未消失,等再次寫入資料,被覆蓋了才會消失。

~end

39 網路程式設計

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

2018 4 15 網路程式設計

單純的客戶端服務端有個侷限性,a客戶端連線上以後,未處理完之前,b客戶端連線只有等待 所以服務端最好將每個客戶端封裝到乙個執行緒中 class picthread implements runnable public void run outputstream out s.getoutputstre...

013 網路程式設計

ip 位址就是標識網路中裝置的乙個位址,好比現實生活中的家庭位址。ipv4 是目前使用的ip位址 ipv6 是未來使用的ip位址 ipv4 是由點分十進位制組成 ipv6 是由冒號十六進製制組成 ip 位址的作用是標識網路中唯一的一台裝置的,也就是說通過ip位址能夠找到網路中某台裝置。說明 ifco...