找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

帖子
查看: 2723|回復: 0
打印 上一主題 下一主題
收起左側

基于Socket的UDP和TCP編程介紹

[復制鏈接]
跳轉到指定樓層
樓主
ID:107189 發(fā)表于 2016-3-6 00:11 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
一、概述
TCP(傳輸控制協議)和UDP(用戶數據報協議是網絡體系結構TCP/IP模型中傳輸層一層中的兩個不同的通信協議。
TCP:傳輸控制協議,一種面向連接的協議,給用戶進程提供可靠的全雙工的字節(jié)流,TCP套接口是字節(jié)流套接口(stream socket)的一種。
UDP:用戶數據報協議。UDP是一種無連接協議。UDP套接口是數據報套接口(datagram socket)的一種。
二、TCP和UDP介紹
1)基本TCP客戶—服務器程序設計基本框架

說明:(三路握手)
        1.客戶端發(fā)送一個SYN段(同步序號)指明客戶打算連接的服務器端口,以及初始化序號(ISN) 。
        2.服務器發(fā)回包含服務器的初始序號的SYN報文段作為應答。同時,將確認序號(ACK)設置為客戶的ISN加1以對客戶的SYN 報文段進行確認。一個SYN將占用一個序號。
        3.客戶必須將確認序號設置為服務器的ISN加1以對服務器的SYN報文段進行確認。

2) 基本TCP客戶—服務器程序設計基本框架流程圖

3) UDP和TCP的對比:
從上面的流程圖比較我們可以很明顯的看出UDP沒有三次握手過程。
簡單點說。UDP處理的細節(jié)比TCP少。UDP不能保證消息被傳送到(它也報告消息沒有傳送到)目的地。UDP也不保證數據包的傳送順序。UDP把數據發(fā)出去后只能希望它能夠抵達目的地。
TCP優(yōu)缺點:
優(yōu)點:
        1.TCP提供以認可的方式顯式地創(chuàng)建和終止連接。
        2.TCP保證可靠的、順序的(數據包以發(fā)送的順序接收)以及不會重復的數據傳輸。
        3.TCP處理流控制。
        4.允許數據優(yōu)先
        5.如果數據沒有傳送到,則TCP套接口返回一個出錯狀態(tài)條件。
        6.TCP通過保持連續(xù)并將數據塊分成更小的分片來處理大數據塊�!獰o需程序員知道
缺點: TCP在轉移數據時必須創(chuàng)建(并保持)一個連接。這個連接給通信進程增加了開銷,讓它比UDP速度要慢。
UDP優(yōu)缺點:
        1.UDP不要求保持一個連接
        2.UDP沒有因接收方認可收到數據包(或者當數據包沒有正確抵達而自動重傳)而帶來的開銷。
   

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表