新聞中心

EEPW首頁 > 手機與無線通信 > 設計應用 > 機器人遙操作網(wǎng)絡通信平臺的設計

機器人遙操作網(wǎng)絡通信平臺的設計

作者: 時間:2009-04-07 來源:網(wǎng)絡 收藏

 目前,系統(tǒng)已成為研究的一個熱點。在的過程中,本地服務器與遠程客戶機之間的問題是遙的關鍵環(huán)節(jié)。針對機器人遙操作的通信問題,本文了一種在Windows XP環(huán)境下,運用實現(xiàn)的基于協(xié)議的。

本文引用地址:http://2s4d.com/article/158120.htm

  1 編程原理

  1.1 簡介

  Socket(套接字)最初是加州大學伯克利分校為UNIX操作系統(tǒng)開發(fā)的接口。后來Intel, Microsoft, Sun等網(wǎng)絡廠商將其移植到Windows中,形成了Windows Sockets規(guī)范,它定義了一套Windows環(huán)境下網(wǎng)絡編程的接口。利用Windows Socket開發(fā)的網(wǎng)絡通信程序的層次結(jié)構(gòu)如圖1示。
Sockets編程的結(jié)構(gòu)

圖1 Sockets編程的結(jié)構(gòu)

  根據(jù)傳輸數(shù)據(jù)類型的不同,Sockets可分為流式套接字(SOCK_STREAM)和數(shù)據(jù)報式套接字(SOCK_DGRAM)兩類。流式套接字提供面向連接、可靠的數(shù)據(jù)傳輸服務,數(shù)據(jù)無差錯、無重復的發(fā)送,且按發(fā)送順序接受。流式套接字實際上是基于TCP協(xié)議實現(xiàn)的。數(shù)據(jù)報式套接字提供無連接服務。數(shù)據(jù)報以獨立包形式發(fā)送,不提供無錯保證,數(shù)據(jù)可能丟失或重復,并且接受順序混亂。數(shù)據(jù)報套接字實際上是基于UDP協(xié)議實現(xiàn)的。

  按照套接字在客戶機/服務器(Client/ Server)模式中的功能可將其分為兩類:

  監(jiān)聽套接字:該套接字位于服務器端,它的主要功能就是對特定的端口進行不斷的監(jiān)聽,當檢測到有連接請求時,接受申請,并構(gòu)造一個新的客戶端套接字,與連接申請方的客戶端套接字建立連接,從而為雙方的通信做好準備。

  客戶端套接字:該套接字是用來進行網(wǎng)絡通信的實體。它位于客戶機和服務器上,服務器必須維持它為之服務的客戶一樣數(shù)量的這種套接字,形成一個以服務器為中心的星型結(jié)構(gòu)。

  1.2 TCP網(wǎng)絡通信步驟

  基于Internet的機器人遙操作技術是現(xiàn)代網(wǎng)絡技術和機器人控制技術的結(jié)合,Internet使用網(wǎng)際分組交換協(xié)議作為通信規(guī)范,它包括 TCP, UDP和ICMP等協(xié)議。其中TCP協(xié)議是面向連接的協(xié)議,要求在數(shù)據(jù)交換以前必須與通信方建立一條連接、它具有分段和重組功能,能夠確保數(shù)據(jù)可靠、有序地傳輸。

  TCP通信整個過程可以分成三個階段:連接建立、數(shù)據(jù)傳輸和拆除連接。

  (1)連接建立階段:首先服務器中的監(jiān)聽套接字對斷口進行偵聽,客戶端的套接字向服務器端的特定斷口提出連接申請。

  (2)通信階段:這是整個過程的核心部分,任務就是負責數(shù)據(jù)的收發(fā)。

 ?。?)拆除連接階段:在傳完數(shù)據(jù)之后,關閉套接字,釋放所分配的資源。

  使用Soeket編寫TCP通信程序的主要步驟如下:

  1) 構(gòu)造 Soeket對象 ;

  2) 使用該對象構(gòu)造基本的Socket句柄。由于遙操作的數(shù)據(jù)通信要求可靠,準確,故采用TCP協(xié)議,套接字使用流式套接字;

  3) 建立客戶機CSocket,調(diào)用Connect()建立與服務器套接字的連接.服務器調(diào)用Listen()監(jiān)聽請求連接情況,并在收到客戶端請求后調(diào)用Accept()接收客戶端連接.

  4) 構(gòu)造CSocketFile對象,并使用CSocket對象與之關聯(lián).

  5) 構(gòu)造CArchive對象 ,用于接受和發(fā)送數(shù)據(jù)。使用CArchive對象來進行客戶端與服務器端之間的Socket通信

  6) 通信結(jié)束,關閉套接字,退出程序。

  2 TCP網(wǎng)絡通信程序的實現(xiàn)

  本程序是為機器人遙操作的通信所搭建的一個網(wǎng)絡通信平臺,該平臺實現(xiàn)了本地服務器與遠程客戶機之間的數(shù)據(jù)網(wǎng)絡通信,系統(tǒng)結(jié)構(gòu)圖如圖2所示。

遙操作系統(tǒng)結(jié)構(gòu)圖

圖2 遙操作系統(tǒng)結(jié)構(gòu)圖

tcp/ip相關文章:tcp/ip是什么



上一頁 1 2 3 下一頁

評論


相關推薦

技術專區(qū)

關閉