JAVA基礎 網路程式設計

2021-07-22 05:29:12 字數 2544 閱讀 2533

協議:udp:面向無連線,不安全,速度快

tcp:面向連線,安全,三次握手

(一)使用udp實現資料的傳送

1.建立socket端點

2.明確要傳送的資料

3.使用socket的傳送功能傳送資料

datagramsocket socket = new datagramsocket();//建立socket物件

string ss = "hello world";

datagrampacket packet = new datagrampacket(ss.getbytes(),ss.getbytes().length,

inetaddress.getbyname("127.0.0.1"),4444);//資料打包

socke.send(packet);//傳送資料

socket.close();//關閉socket

使用udp實現資料的接收

1.建立socket端點,同時監聽埠

2.建立乙個空的資料報包來接受資料

3.使用socket接收功能接收資料

datagramsocket socket = new datagramsocket(4444);//建立socket物件

byte b = new byte[1024];

datagrampacket packet = new datagrampacket(b,b.length);//建立乙個空的資料打包

socke.receive(packet);//接收資料

b = packet.getdata();//獲取接收到的資料

string ss = new string(b,0,packet.getlength);//對資料進行解碼

inetaddress address = packet.getaddress();//獲取傳送的主機

string ip = address.gethostaddress();//獲取傳送主機的ip位址

int port = packet.getport();//獲取埠號

socket.close();//關閉socket

(二)使用tcp實現資料的傳送

1.建立socket客戶端物件,同時知名連線的伺服器位址和埠號

2.向伺服器傳送資料,使用輸出流

3.接收伺服器返回的資訊

4.關閉流物件

socket socket = new socket(inetaddress.getbyname("10.0.185.175"),4444);//建立socket物件

outputstream out = socket.getoutputstream();

out.write("hello world".getbytes());//向伺服器傳輸資料

inputstream in = socket.getinputstream();

byte b = new byte[1024];

int num=in.read(b);//從伺服器讀取資料

string ss= new string(b,0,num);

socket.close();//關閉流物件

使用tcp實現資料的接收

1.建立serversocket物件,同時監聽埠

2.得到客戶端使用的socket流,即客戶端物件

3.接收資料

3.想客戶端傳送資訊

4.關閉流物件

serversocket server = new serversocket(4444);//建立物件

socket socket = server.accept();//獲取socket流物件

inputstream in = socket.getinputstream();

byte b = new byte[1024];

int num=0;

while((num=in.read(b))!=-1)//從客戶端接收資料

outputstream out = socket.getoutputstream();

out.write("傳送成功".getbytes());//向客戶端傳輸資料

socket.close();//關閉流物件

(三)url: 統一資源定位符

urlconnection conn = url.openconnection();//連線伺服器

inputstream in = conn.getinputstream();

byte b = new byte[1024];

int num = 0;

while((num = in.read(b))!=-1)//讀取伺服器傳回的資料

另:url.getprotocol()  //協議

url.gethost  //ip位址

url.getport  //埠

url.getpath  //得到資源路徑

url.getfile  //得到資源路徑+?後面的資訊

java網路程式設計基礎

一.埠 如果把ip比作一間房子那麼埠就是這間房子的們 1.一台計算機有65535個埠,其中0為保留埠,1 1024為固定埠,1025 65535為動態埠 程式設計師可以試用的埠 2.在計算機 尤其是伺服器 上盡可能的少開端口 3.乙個埠只能被乙個程式監聽 4.可以使用netstat an命令檢視本機...

JAVA基礎 網路程式設計

網路程式設計 socket程式設計 網路程式設計的三個要素 有32位或者128位表示,常用的ip位址是32位 也就是ipv4,128位代表ipv6 a 1.0.0.1 127.255.255.25410.x.x.x 是私有位址 b類128.0.0.1 191.255.255.254172.16.0....

JAVA 基礎 網路程式設計

尚矽谷課程 inetadress類的建立和使用 inetaddress inet inetaddress.getbyname www.badu.com inet inetaddress.getbyname xx.x system.out.println inet 控制台輸出的格式為 www.badu...