RS232轉(zhuǎn)TCPIP的TCP工作模式選擇
本文介紹在串口轉(zhuǎn)TCP/IP中如何使用各種TCP工作模式,根據(jù)不同的應(yīng)用如何進(jìn)行靈活選擇TCP客戶端、TCP服務(wù)器、UDP、UDP組播。
本文引用地址:http://2s4d.com/article/156248.htmTCP/IP是網(wǎng)際互聯(lián)的基本協(xié)議,TCP/IP實(shí)際涉及網(wǎng)絡(luò)協(xié)議的兩層:網(wǎng)絡(luò)層和傳輸層。IP屬于網(wǎng)絡(luò)層,而TCP屬于傳輸層,實(shí)際上TCP/IP協(xié)議還有另外部分協(xié)議即UDP協(xié)議,UDP協(xié)議和TCP協(xié)議共同組成了TCP/IP協(xié)議的傳輸層。而TCP協(xié)議有具有客戶端和服務(wù)端兩種工作模式。在RS232/RS485聯(lián)網(wǎng)模塊應(yīng)用中,主要在UDP、TCP客戶端、TCP服務(wù)器3種模式之間進(jìn)行選擇。如圖1所示。
1.1 TCP和UDP的區(qū)別和比較
圖1.TCPUDP各種工作模式演示
TCP(Transmission Control Protocol)是可靠連接協(xié)議。我們可以用打電話來類比TCP協(xié)議。使用TCP協(xié)議進(jìn)行數(shù)據(jù)傳輸,首先需要建立連接;就如在通電話前需要先撥通電話一樣。TCP是可靠傳輸?shù)?,即你傳輸?shù)臄?shù)據(jù)有誤或者丟失,則會自動重新傳輸以保證數(shù)據(jù)正確;這正如打電話的時候,如果信號不好,收方會說:“聽不清,請?jiān)僬f一遍。”
UDP(User Datagram Protocol)是報文傳輸協(xié)議。我們可以用手機(jī)短信來類比UDP協(xié)議。使用UDP協(xié)議,你無需先征得對方的同意(無需先建立連接),可以隨時發(fā)送。但是UDP協(xié)議是不可靠傳輸?shù)模惆l(fā)送出去的數(shù)據(jù)不能夠保證正確地被對方收到;
所謂“正確接收”,它包括3方面的內(nèi)容:1.丟失問題:數(shù)據(jù)丟失后可以重傳。2.誤碼問題:數(shù)據(jù)內(nèi)容錯誤能被檢測并重新發(fā)送。3.順序問題:UDP無法保證數(shù)據(jù)的順序,例如在發(fā)送長文字的短信的時候,有可能后半部分短信內(nèi)容先收到,然后再收到前半部分短信內(nèi)容。這給接收者較大的迷惑,TCP協(xié)議沒有這個問題。
UDP協(xié)議的也有自身優(yōu)點(diǎn)。1.簡單性、方便性,UDP協(xié)議非常類似串口通信,因?yàn)榇诎l(fā)送數(shù)據(jù)本身基于非連接(報文)的。此時在串口轉(zhuǎn)以太網(wǎng)的時候,使用UDP協(xié)議符合原來的思維。2.UDP協(xié)議具有廣播、組播功能,可以實(shí)現(xiàn)一對多通信。
表1. TCP與UDP的區(qū)別
TCP | UDP | |
需要連接 | 是 | 否 |
占用線路 | 是 | 否 |
可靠傳輸 | 是 | 否 |
簡單易用 | 否 | 是 |
支持廣播 | 否 | 是 |
1.2 TCP客戶端和TCP服務(wù)器的區(qū)別
在選擇TCP進(jìn)行通信的時候,通信的雙方,必須一方為TCP客戶端(TCP Client),一方為TCP服務(wù)器(TCP Server)。以打電話來類比,打電話的人是TCP客戶端,接電話的一方為TCP服務(wù)器。TCP/IP協(xié)議中的IP地址類似電話號碼,而TCP/IP中的端口號類似電話分機(jī)號??蛻舳耍〒茈娫捳撸?,首先需要知道對方的IP地址和端口(電話號碼和分機(jī)號),先連接上TCP服務(wù)器端(接聽者的電話摘機(jī)),才能進(jìn)行數(shù)據(jù)傳輸(通話)。和一般電話不同,在這里TCP服務(wù)器可以同時接入多個TCP客戶端,就如有多路線路的電話,不會因?yàn)橐宦冯娫捲诮油ㄖ卸荒芙尤肫渌娫挕?/p>
在ZLSN聯(lián)網(wǎng)模塊的RS232轉(zhuǎn)網(wǎng)絡(luò)中,TCP的長連接和短連接。TCP長連接就是連接建立后不斷開,直到斷電。TCP短連接是指需要通信的時候建立連接,通信完畢后立即關(guān)閉連接。
tcp/ip相關(guān)文章:tcp/ip是什么
評論