Java之網路程式設計 UDP TCP

2021-08-19 03:38:02 字數 1698 閱讀 2643

網路模型七大模型:物理層、資料鏈路層、網路層、傳輸層、會話層、表示層、應用層

ip位址----確定主機在網路中的位置     ipv4---四位0-255來組成   10.9.20.254

埠---用於和計算機外界進行資料互動的媒介     埠號(0-65535),埠號在(0-1024之間大部分都被系統提前占用了),最好以後指定埠號時盡量選1024後面的

網域名稱---網域名稱可以和ip位址一一對映

代表ip位址和埠號的類

public class inetsocketaddressdemo

}

基於io流

b.傳輸資料時不會建立連線、不可靠(資料有可能丟失)、傳輸速度快

c.底層是根據資料報來進行傳輸資料,資料報最大不能超過64kb

傳送端1.建立udp套接字物件

2.建立資料報,指定傳送的資料、長度以及ip位址和埠號

3.傳送資料報

4.關流

接收端1.建立udp套接字的物件,繫結埠號

2.建立資料報,指定接收的位元組陣列以及可以接受的資料長度

3.接受資料報

4.關流

5.解析資料報

public class udpsender

}

public class udpreceiver

}

a.基於io流

b.會先建立連線(三次握手)、可靠(資料的完整)、傳輸速度慢

c.不根據資料報來傳輸資料,不限制資料的大小

d.使用場景:傳輸檔案、聊天等    socket、serversocket

客戶端1.建立tcp客戶端物件

2.發起連線,指定ip位址和埠號

3.獲取自帶的位元組輸出流寫出資料

4.通知伺服器端資料已經發生完畢

5.關流

伺服器端

1.建立tcp伺服器端物件

2.接受連線

3.獲取自帶的位元組輸入流讀取資料

4.通知客戶端資料已經接受完畢

5.關流

public class tcpclientdemo*/

//通知伺服器端資料已經寫完

s.shutdownoutput();

//接受伺服器端傳送的資料

inputstreamis=s.getinputstream();

bytebs=newbyte[10];

intlen=-1;

while((len=is.read(bs))!=-1)

//通知伺服器端資料已經接受完畢

s.shutdowninput();

//關流

s.close();

}}

public class tcpserverdemo

//通知客戶端資料已經接受完畢

s.shutdowninput();

//獲取自帶的位元組輸出流給客戶端傳送資料

outputstream os = s.getoutputstream();

os.write("你也好".getbytes());

//通知客戶端資料已經發生完畢

s.shutdownoutput();

//關流

ss.close();

}}

UDP TCP網路程式設計

建立udp網路程式流程 import socket 建立乙個udp的socket連線 udp socket socket.socket socket.af inet,socket.sock dgram 獲取使用者的輸入內容 data input 請輸入內容 準備接收方的位址和埠號 addr 127....

基於UDP TCP網路套接字程式設計

傳輸層基於udp的網路通訊流程 客戶端 服務端 1.建立套接字 返回套接字控制代碼 socket 1.建立套接字 返回套接字控制代碼 2.為套接字繫結位址和埠 bind 2.為套接字繫結位址和埠 3.傳送資料 sendto 3.開始接收資料 4.接收資料 recvfrom 4.恢復資料 5.關閉套接...

socket程式設計 UDP TCP

1.socket簡介 socket,又叫套接字,是一種軟體形式的抽象,用於表達兩台機器間乙個連線的 終端 服務端的socket在服務端機器上特定的埠進行等待,客戶端的socket繫結了服務端的ip位址以及它正在監聽著的埠,所以兩者通過ip和埠連線起來,就如同一條虛擬的通道。sockets 套接字 程...