首頁(yè) > 技術(shù)發(fā)展 > UDP協(xié)議通信需要建立連接嗎?

UDP協(xié)議通信需要建立連接嗎?

時(shí)間:2020-06-25 來(lái)源:方正智芯 瀏覽:

在西門(mén)子PLC的開(kāi)放式以太網(wǎng)通信(Open User Communication)中,無(wú)論是使用TCP協(xié)議還是UDP協(xié)議,首先都需要使用函數TCON來(lái)建立連接。善于思考的小伙伴們肯定會(huì )提出一個(gè)問(wèn)題:UDP協(xié)議不是面向非連接的協(xié)議嗎?為什么還需要使用TCON來(lái)建立通信連接呢?今天這篇文章,我們就來(lái)回答這個(gè)問(wèn)題。

我們把TCP協(xié)議和UDP協(xié)議做個(gè)對比,首先明確結論:TCP是面向連接的協(xié)議;UDP是面向非連接的協(xié)議。這里的“連接”,是指通信雙方在協(xié)議層上建立的一條專(zhuān)用的數據傳輸通道。

TCP協(xié)議是有真實(shí)的數據傳輸通道的,它的執行跟打電話(huà)的過(guò)程很類(lèi)似。一個(gè)人要想給另一個(gè)人打電話(huà),首先要撥號,一旦對方接起電話(huà),兩人之間就建立了一條專(zhuān)用的通信信道。如果出現斷線(xiàn),則需要重新?lián)芴?,再次建立連接才能繼續通話(huà)。TCP的傳輸過(guò)程也是類(lèi)似的,通信的發(fā)起方必須和接收方建立連接,才能進(jìn)行通信。一旦連接中斷,則需要重新請求建立連接。TCP的傳輸具有確認機制,是可靠的、安全的。當然,相對慢些。

UDP協(xié)議則不同,它不需要在兩個(gè)通信伙伴之間建立真實(shí)的通信信道,其執行過(guò)程跟寫(xiě)信很類(lèi)似。寄信人將收信人的名稱(chēng)和地址寫(xiě)到信封上,然后把信投到郵箱。至于這封信是順利到達收信人的手中還是在中途遺失了,它完全不管。UDP協(xié)議沒(méi)有確認重傳機制,不需要在通信伙伴之間建立通信連接,因此把它稱(chēng)作是“面向非連接”的協(xié)議。其優(yōu)點(diǎn)是傳輸速度較快。

好了,那么問(wèn)題來(lái)了。既然UDP是面向非連接的協(xié)議,為什么在西門(mén)子PLC的開(kāi)放式以太網(wǎng)通信(Open User Communication)中,在使用UDP傳輸前,要調用TCON函數來(lái)建立“連接”?

其實(shí),TCON函數即可用于TCP傳輸的連接,也可用于UDP傳輸的連接。用于TCP通信時(shí),它是真實(shí)在通信伙伴之間建立連接;而用于UDP通信時(shí),它只是用來(lái)配置通信的參數(比如,通信伙伴的IP地址和端口號)。用戶(hù)程序通過(guò)調用TCON函數把UDP的通信參數交給PLC的操作系統,之后它就不管了。操作系統負責把這些信息以UDP報文的形式發(fā)送出去。因此,在UDP通信時(shí),TCON函數是在用戶(hù)程序和操作系統之間建立了“連接”,而不是與通信伙伴建立連接,此“連接”非彼“連接”。

下面這張圖,是博途(Portal)環(huán)境下TCON函數的方框圖:

好了,關(guān)于西門(mén)子PLC開(kāi)放式以太網(wǎng)通信的連接函數TCON就介紹到這里。

版權:如無(wú)特殊注明,文章轉載自網(wǎng)絡(luò ),侵權請聯(lián)系cnmhg168#163.com刪除!文件均為網(wǎng)友上傳,僅供研究和學(xué)習使用,務(wù)必24小時(shí)內刪除。
相關(guān)推薦
欧美AAAAAA级午夜福利_国产福利写真片视频在线_91香蕉国产观看免费人人_莉莉精品国产免费手机影院