2.接收方
3.傳送方
二.tcp
2.伺服器端
3.客戶端
udp:面向無連線通訊(傳送端不需接收端確認是否能接收),資料不安全,效率高1.常用方法
inetaddress
datagrampacket
datagramsocket
2.接收方
/* 測試時應先啟動接收方,再啟動傳送方 */
//用於接收資料的緩衝區
byte data=new
byte[1024];
//建立資料報物件
datagrampacket dp=new datagrampacket(data, data.length);
//建立套接字物件,設定接收方埠為3000
datagramsocket ds=new datagramsocket(3000);
//接收資料報
ds.receive(dp);
//獲取傳送者的ip位址
string senderip=dp.getaddress().gethostaddress();
//獲取傳送者的埠號
int senderport=dp.getport();
//獲取資料報的大小
int length=dp.getlength();
system.out.println(senderip+":"+senderport+"..."+new string(data,0,length));
//關閉資源
ds.close();
3.傳送方string msg="你好";
byte data=msg.getbytes();
//接收者ip位址
inetaddress receiverip=inetaddress.getbyname("127.0.0.1");
//接收者埠號
int receiverport=3000;
//建立資料報
datagrampacket dp=new datagrampacket(data, data.length,receiverip,receiverport);
//建立套接字物件
datagramsocket ds=new datagramsocket();
//傳送資料報
ds.send(dp);
//關閉資源
ds.close();
tcp:面向有連線通訊,三次握手,資料安全,效率較低,區分客戶端與伺服器端1.常用方法
socket
serversocket
2.伺服器端
//建立伺服器端的套接字物件,並繫結埠號
serversocket server=new serversocket(4000);
//監聽並接受客戶端的套接字
socket socket= server.accept();
//獲取客戶端傳送資料的輸入流
inputstream in=socket.getinputstream();
byte data=new
byte[1024];
//讀取客戶端傳送的資料
int len=in.read(data);
string msg=new string(data,0,len);
system.out.println(msg);
if(msg.equals("我要登入"))
//關閉資源
socket.close();
server.close();
3.客戶端//建立客戶端的套接字物件,並設定需要訪問的伺服器的ip和埠
socket socket=new socket("127.0.0.1", 4000);
//獲取傳送資料到伺服器端的輸出流
outputstream out= socket.getoutputstream();
//傳送資料到伺服器端
out.write("我要登入".getbytes());
//獲取伺服器端響應返回資料的輸入流
inputstream in=socket.getinputstream();
byte data=new
byte[1024];
//讀取伺服器端返回的資料
int len=in.read(data);
system.out.println(new string(data,0,len));
//關閉資源
socket.close();
網路程式設計 TCP與UDP
tcp transmission control protocol 傳輸控制協議 是一種面向連線的 可靠的 基於位元組流的傳輸層通訊協議,由ietf的rfc 793定義。當客戶和伺服器彼此交換資料前,必須先在雙方之間建立乙個tcp連線,之後才能傳輸資料。tcp提供超時重發,丟棄重複資料,檢驗資料,流...
網路程式設計 TCP和UDP
在網路通訊協議下不同計算機上執行的程式,可以進行資料傳輸 ip位址 ip位址可以唯一標識網路中的裝置 埠埠號可以標識裝置中的應用程式 協議常見udp tcp 方法名說明 datagramsocket 建立資料報套接字並將其繫結到本機位址上的任何可用埠 datagrampacket byte buf,...
python網路程式設計 TCP與UDP
tcp與udp的區別 tcp速度慢,穩定。udp速度快,不穩定,易丟資料。udp 客戶端 import socket clientsocket socket.socket socket.af inet,socket.sock dgram 建立套接字 sendtoaddr 192.168.1.111 ...