協議: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...