<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 手機與無(wú)線(xiàn)通信 > 設計應用 > 機器人遙操作網(wǎng)絡(luò )通信平臺的設計

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

作者: 時(shí)間:2009-04-07 來(lái)源:網(wǎng)絡(luò ) 收藏

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

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

  1 編程原理

  1.1 簡(jiǎn)介

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

圖1 Sockets編程的結構

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

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

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

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

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

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

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

 ?。?)連接建立階段:首先服務(wù)器中的監聽(tīng)套接字對斷口進(jìn)行偵聽(tīng),客戶(hù)端的套接字向服務(wù)器端的特定斷口提出連接申請。

 ?。?)通信階段:這是整個(gè)過(guò)程的核心部分,任務(wù)就是負責數據的收發(fā)。

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

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

  1) 構造 Soeket對象 ;

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

  3) 建立客戶(hù)機CSocket,調用Connect()建立與服務(wù)器套接字的連接.服務(wù)器調用Listen()監聽(tīng)請求連接情況,并在收到客戶(hù)端請求后調用Accept()接收客戶(hù)端連接.

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

  5) 構造CArchive對象 ,用于接受和發(fā)送數據。使用CArchive對象來(lái)進(jìn)行客戶(hù)端與服務(wù)器端之間的Socket通信

  6) 通信結束,關(guān)閉套接字,退出程序。

  2 TCP網(wǎng)絡(luò )通信程序的實(shí)現

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

遙操作系統結構圖

圖2 遙操作系統結構圖

tcp/ip相關(guān)文章:tcp/ip是什么



上一頁(yè) 1 2 3 下一頁(yè)

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>