tcp/ip程式設計
使用tcp/ip的套接字(socket)進行通訊
伺服器程式將乙個套接字繫結到乙個特定的埠,並通過此套接字等待和監聽客戶端到埠的連線請求
客戶端程式根據伺服器程式所在的主機名和埠發出連線請求
視同serversocket和socket實現伺服器端和客戶端的socket通訊
我們以客戶端傳送資料伺服器端接收資料為例看看整個操作流程
服務端
//伺服器端接收資料
public
class
server
outputstream.flush();
outputstream.close();
inputstream.close();
socket.close();
serversocket.close();
} catch
(exception e)
}}
客戶端
//客戶端傳送資料
public
class
client
outputstream.flush();
outputstream.close();
inputstream.close();
socket.close();
} catch
(exception e)
}}
結論:由上過程可知,tcp/ip程式設計在建立socket時就已經建立了連線,固定了不可更改,只能是點到點的傳輸
udp程式設計
udp是使用者資料報協議,基於udp的socket程式設計時一種非連線的socket通訊,它提供的是無連線、不可靠資訊傳送服務
datagramsocket:用來傳送和接受資料報的套接字
datagrampacket:表示資料報
客戶端:
publicclass
client
catch
(exception e)
}}
服務端:
publicclass
server
catch
(exception e)
}}
結論:udp是先指定乙個服務端埠號,然後通過資料報來確定連線,從而可以實現一對
一、一對多、多對
一、多對多的互動通訊
兩者比較:
1、tcp面向連線,傳送資料前要先建立連線;udp是無連線的,傳送資料前不需要建立連線
2、tcp連線傳送的資料,無差錯,不丟失,不重複,且按序到達;udp盡最大努力交付,不保證可靠交付;
3、udp有較好的實時性,效率比tcp高,適用於對高速傳輸和實時性較高的通訊或廣播通訊
4、每一條tcp連線只能是點到點;udp支援一對
一、一對多、多對
一、多對多的互動通訊
網路程式設計TCP與UDP的區別
為了方便開發網路應用程式,美國伯克利大學在unix上實現的一種應用程式訪問網路的通訊協議socket,socket的出現使程式設計師可以方便的訪問tcp ip transmission control protocol internet protocol 即傳輸控制協議 網間協議 使用tcp ip的...
網路程式設計 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 ...