udp:使用者資料報協議
特點:面向無連線,資料是不安全,不完整
優點:效率高
tcp:傳輸控制協議
特點:面向有連線,資料是安全,完整性
比如:打**,上網
tcp協議建立連線 有三個步驟 我們稱為"三次握手"
//1.建立datagramsocket物件
datagramsocketds =newdatagramsocket();
//2.建立datagrampacket物件
//儲存 傳送的資料,對方的ip,埠號
bytebs = "我愛你".getbytes();
datagrampacketdp =newdatagrampacket(bs,bs.length,inetaddress.getbyname("127.0.0.1"),12345);
//3.傳送
ds.send(dp);
system.out.println("傳送資料成功!!!");
//4.關閉資源
ds.close();
//1.建立datagramsocket物件,
//強調:接收端必須指定乙個埠號
datagramsocketds =newdatagramsocket(12345);
//2.直接建立乙個datagrampacket物件
bytebs =new byte[1024];
datagrampacketdp =newdatagrampacket(bs, bs.length);
//3.接收
system.out.println("等待傳送端傳送資料....");
ds.receive(dp);//這個方法具有等待功能,等待傳送端傳送過來的資料
system.out.println("接收資料成功!!");
//獲取傳送端的位址
inetaddresssendaddress = dp.getaddress();
system.out.println("傳送端是:"+sendaddress.gethostaddress());
//獲取真正的資料
bytedata = dp.getdata();
//獲取傳送端 發來了多少位元組
intlen = dp.getlength();
//列印資料
stringreceivemsg =newstring(data, 0, len);
system.out.println("傳送端說:"+receivemsg);;
//4.關閉資源
ds.close();
// 1.建立乙個客戶端物件(注意:指定這個socket要連線的伺服器的ip和埠)
* 這個構造方法幹了很多事情:
* a.自動去連線伺服器
* b.自動進行三次握手,建立連線
* c.自動為連線中建立兩個流
socketclient =newsocket("127.0.0.1", 12345);
// 2.從客戶端物件中獲取 輸出流:getoutputstream()
//outputstreamout = client.getoutputstream();
// 3.呼叫輸出流的write方法寫資料到伺服器即可
"howare you".getbytes());
client.getoutputstream().write("howare you".getbytes());
system.out.println("給伺服器傳送資料成功!!");
// 4.關閉資源
client.close();
//1.建立乙個serversocket物件,必須繫結乙個埠,這個埠必須和客戶端連線的埠一致
serversocketserver =newserversocket(12345);
//2.獲取到 哪乙個 客戶端連線的我
system.out.println("等待客戶端連線...");
socketclient = server.accept();//此方法也具有等待功能,等待某乙個客戶端連線
//列印一些和客戶端有關資訊
stringip = client.getinetaddress().gethostaddress();
system.out.println("小樣,抓到你了:"+ip);
//3.獲取輸入流,實際上是客戶端寫資料時的輸出流
inputstreamin = client.getinputstream();
//4.讀取資料
bytebs =new byte[1024];
intlen = in.read(bs);
//列印
system.out.println("客戶端說:"+newstring(bs,0,len));
//5.關閉資源
server.close();
client.close();
in.close();
網路程式設計系列 之TCP和UDP基礎知識
date 2019 3 5 1 參考 下面兩篇文章關於tcp和udp的講解很好,可以參考 tcp udp以及http的簡單講解 tcp和udp的區別和優缺點 2 tcp和udp的區別 一 tcp與udp區別總結 1 tcp面向連線 如打 要先撥號建立連線 udp是無連線的,即傳送資料之前不需要建立連...
網路程式設計 TCP與UDP
tcp transmission control protocol 傳輸控制協議 是一種面向連線的 可靠的 基於位元組流的傳輸層通訊協議,由ietf的rfc 793定義。當客戶和伺服器彼此交換資料前,必須先在雙方之間建立乙個tcp連線,之後才能傳輸資料。tcp提供超時重發,丟棄重複資料,檢驗資料,流...
python網路程式設計 TCP與UDP
tcp與udp的區別 tcp速度慢,穩定。udp速度快,不穩定,易丟資料。udp 客戶端 import socket clientsocket socket.socket socket.af inet,socket.sock dgram 建立套接字 sendtoaddr 192.168.1.111 ...