《電子技術應用》
您所在的位置:首頁 > 模擬設計 > 設計應用 > RS232轉TCPIP的TCP工作模式選擇
RS232轉TCPIP的TCP工作模式選擇
摘要: 本文介紹在串口轉TCP/IP中如何使用各種TCP工作模式,根據不同的應用如何進行靈活選擇TCP客戶端、TCP服務器、UDP、UDP組播。
關鍵詞: 接口IC TCP TCPIP RS232
Abstract:
Key words :

本文介紹在串口轉TCP/IP中如何使用各種TCP工作模式,根據不同的應用如何進行靈活選擇TCP客戶端、TCP服務器、UDP、UDP組播。

1.TCP&UDP工作模式

  TCP/IP是網際互聯的基本協議,TCP/IP實際涉及網絡協議的兩層:網絡層和傳輸層。IP屬于網絡層,而TCP屬于傳輸層,實際上TCP/IP協議還有另外部分協議即UDP協議,UDP協議和TCP協議共同組成了TCP/IP協議的傳輸層。而TCP協議有具有客戶端和服務端兩種工作模式。在RS232/RS485聯網模塊應用中,主要在UDP、TCP客戶端、TCP服務器3種模式之間進行選擇。如圖1所示。

1.1 TCP和UDP的區別和比較

TCP和UDP的區別和比較

圖1.TCP&UDP各種工作模式演示

  TCP(Transmission Control Protocol)是可靠連接協議。我們可以用打電話來類比TCP協議。使用TCP協議進行數據傳輸,首先需要建立連接;就如在通電話前需要先撥通電話一樣。TCP是可靠傳輸的,即你傳輸的數據有誤或者丟失,則會自動重新傳輸以保證數據正確;這正如打電話的時候,如果信號不好,收方會說:“聽不清,請再說一遍。”

  UDP(User Datagram Protocol)是報文傳輸協議。我們可以用手機短信來類比UDP協議。使用UDP協議,你無需先征得對方的同意(無需先建立連接),可以隨時發送。但是UDP協議是不可靠傳輸的,你發送出去的數據不能夠保證正確地被對方收到;

  所謂“正確接收”,它包括3方面的內容:1.丟失問題:數據丟失后可以重傳。2.誤碼問題:數據內容錯誤能被檢測并重新發送。3.順序問題:UDP無法保證數據的順序,例如在發送長文字的短信的時候,有可能后半部分短信內容先收到,然后再收到前半部分短信內容。這給接收者較大的迷惑,TCP協議沒有這個問題。

UDP協議的也有自身優點。1.簡單性、方便性,UDP協議非常類似串口通信,因為串口發送數據本身基于非連接(報文)的。此時在串口轉以太網的時候,使用UDP協議符合原來的思維。2.UDP協議具有廣播、組播功能,可以實現一對多通信。

表1. TCP與UDP的區別 

 

 

TCP

UDP

需要連接

占用線路

可靠傳輸

簡單易用

支持廣播

 

1.2 TCP客戶端和TCP服務器的區別

  在選擇TCP進行通信的時候,通信的雙方,必須一方為TCP客戶端(TCP Client),一方為TCP服務器(TCP Server)。以打電話來類比,打電話的人是TCP客戶端,接電話的一方為TCP服務器。TCP/IP協議中的IP地址類似電話號碼,而TCP/IP中的端口號類似電話分機號。客戶端(撥電話者),首先需要知道對方的IP地址和端口(電話號碼和分機號),先連接上TCP服務器端(接聽者的電話摘機),才能進行數據傳輸(通話)。和一般電話不同,在這里TCP服務器可以同時接入多個TCP客戶端,就如有多路線路的電話,不會因為一路電話在接通中而不能接入其它電話。

  在ZLSN聯網模塊的RS232轉網絡中,TCP的長連接和短連接。TCP長連接就是連接建立后不斷開,直到斷電。TCP短連接是指需要通信的時候建立連接,通信完畢后立即關閉連接。

2.工作模式的選擇

2.1 TCP和UDP的選擇

  TCP協議有很多優點,這里只介紹何時使用UDP協議。

1.節省上位機的線路資源。在ZLSN模塊的串口轉以太網應用中,如果選擇TCP協議,且為TCP客戶端的話,那么TCP連接是在模塊上電之后就開始連接的,屬于“長連接”。這就使得TCP協議一直占用一條通信線路(一個socket接口),如果聯網模塊個數很多(例如上萬個),那么用TCP協議占用較多資源。

2.簡化上位機編程的復雜性。基于UDP的socket編程相對于TCP要簡單些。

3.需要廣播或者組播的應用。

2.2 客戶端和服務器的選擇

1. 一個監控中心還是多個監控中心。

  一個監控中心:在單個監控中心的集中監控系統中,分散在各個采集點的ZLSN模塊將采集數據傳送到中心計算機,此時最好采用ZLSN模塊為TCP客戶端的方式,因為此時每個模塊只要設置一個目的IP(中心計算機的IP地址)即可。當然也可以采用中心為客戶端、模塊為服務端方式,但是此時中心必須記住每個模塊的IP地址,不利于系統的延展性和配置的靈活性。

  多個監控中心:現在有多個中心計算機需要監控聯網模塊,由于TCP客戶端模塊只能連接一個中心,所以多個中心無法監控一個模塊(除非或者采用卓嵐的“硬件TCP/IP協議棧”功能,讓模塊可以根據需要連接到不同的中心)。此時應該采用模塊為客戶端的方式。

2.知道對方IP地址。如果通信的AB雙方中如果有一方A不知道對方B的IP地址,那么A必須作為客戶端。這是因為A不知道B的IP地址,也無法進行連接操作。在ZLSN聯網模塊大量應用的網絡中,ZLSN聯網模塊的IP地址通過動態獲取,所以中心并不知道所有模塊的IP地址,所以此時模塊應該作為客戶端。

3.主從關系。在主從關系的通信模式中,主機總是先發送數據,從機給出應答。在TCP短連接應用中,主機應該采用客戶端。這是因為短連接采用有數據發送的時候建立TCP連接的方式,只有主機才知道何時需要發送那個數據合適需要建立連接,所以主機為客戶端。

2.3 TCP短連接和TCP長連接的選擇

  TCP短連接由于占用的TCP線路資源少,一般效率優于長連接。但是以下情況下采用長連接:通信的雙方沒有主從關系。任何一方都有首先發送數據的可能,所以要保持TCP連接一直保持。選擇長連接的時候需要注意,在連接建立到當前,中間網線是否有斷開,需要時時檢測連接的可用性,短連接無該問題,使用較為方便。

此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 婷婷97狠狠的狠狠的爱 | 亚洲精品无码不卡在线播放he | 国产 在线 | 日韩 | 深夜福利网 | 在线看片成人免费视频 | 午夜在线 | 国产精品入口麻豆免费看 | 国产精品嫩草影院在线观看免费 | 美女视频黄.免费网址 | 美女网站18 | 69人成网站色www | 看全色黄大色大片免费 | 一个人看的视频www 一个人看的视频www免费 | 小明永久免费大陆在线观看 | 天天草天天爽 | 欧美肥胖老女人 | 污视频网站免费观看 | www.亚洲第一 | 中国国产一级毛片 | 丁香六月久久 | 欧美一级视频高清片 | 我要看黄色毛片 | 丝袜第一页 | 最近免费中文字幕完整5 | 亚洲一级伦理 | 天天天天做夜夜夜夜 | 在线观看 中文字幕 | 免费一级a毛片在线播 | 日韩精品亚洲精品485页 | 欧美一区二区久久精品 | 日韩一级生活片 | 国产a久久精品一区二区三区 | 粉色视频导航 | 日韩毛片免费 | 日韩在线播放全免费 | 在线观看男女男免费视频 | 500第一导航亚洲精品导航 | 91四虎国自产在线播放线 | www.香蕉视频.com | 国产 欧美 日产久久 | 波多野结衣免费免费视频一区 |