机器人遥 *** 作网络通信平台的设计

机器人遥 *** 作网络通信平台的设计,第1张

  目前,机器人遥 *** 作系统已成为机器人研究的一个热点。在机器人遥 *** 作的过程中,本地服务器与远程客户机之间的网络通信问题是遥 *** 作的关键环节。针对机器人遥 *** 作的通信问题,本文设计了一种在Windows XP环境下,运用Socket实现的基于TCP/IP协议的网络通信平台。

  1 Socket编程原理

  1.1 Socket简介

  Socket(套接字)最初是加州大学伯克利分校为UNIX *** 作系统开发的网络通信接口。后来Intel, Microsoft, Sun等网络厂商将其移植到Windows中,形成了Windows Sockets规范,它定义了一套Windows环境下网络编程的接口。利用Windows Socket开发的网络通信程序的层次结构如图1示。

  

机器人遥 *** 作网络通信平台的设计,Sockets编程的结构,第2张

 

  图1 Sockets编程的结构

  根据传输数据类型的不同,Sockets可分为流式套接字(SOCK_STREAM)和数据报式套接字(SOCK_DGRAM)两类。流式套接字提供面向连接、可靠的数据传输服务,数据无差错、无重复的发送,且按发送顺序接受。流式套接字实际上是基于TCP协议实现的。数据报式套接字提供无连接服务。数据报以独立包形式发送,不提供无错保证,数据可能丢失或重复,并且接受顺序混乱。数据报套接字实际上是基于UDP协议实现的。

  按照套接字在客户机/服务器(Client/ Server)模式中的功能可将其分为两类:

  监听套接字:该套接字位于服务器端,它的主要功能就是对特定的端口进行不断的监听,当检测到有连接请求时,接受申请,并构造一个新的客户端套接字,与连接申请方的客户端套接字建立连接,从而为双方的通信做好准备。

  客户端套接字:该套接字是用来进行网络通信的实体。它位于客户机和服务器上,服务器必须维持它为之服务的客户一样数量的这种套接字,形成一个以服务器为中心的星型结构。

  1.2 TCP网络通信平台设计步骤

  基于Internet的机器人遥 *** 作技术是现代网络技术和机器人控制技术的结合,Internet使用网际分组交换协议TCP/IP作为通信规范,它包括 TCP, UDP和ICMP等协议。其中TCP协议是面向连接的协议,要求在数据交换以前必须与通信方建立一条连接、它具有分段和重组功能,能够确保数据可靠、有序地传输。

  TCP通信整个过程可以分成三个阶段:连接建立、数据传输和拆除连接。

  (1)连接建立阶段:首先服务器中的监听套接字对断口进行侦听,客户端的套接字向服务器端的特定断口提出连接申请。

  (2)通信阶段:这是整个过程的核心部分,任务就是负责数据的收发。

  (3)拆除连接阶段:在传完数据之后,关闭套接字,释放所分配的资源。

  使用Soeket编写TCP通信程序的主要步骤如下:

  1) 构造 Soeket对象 ;

  2) 使用该对象构造基本的Socket句柄。由于遥 *** 作的数据通信要求可靠,准确,故采用TCP协议,套接字使用流式套接字;

  3) 建立客户机CSocket,调用Connect()建立与服务器套接字的连接.服务器调用Listen()监听请求连接情况,并在收到客户端请求后调用Accept()接收客户端连接.

  4) 构造CSocketFile对象,并使用CSocket对象与之关联.

  5) 构造CArchive对象 ,用于接受和发送数据。使用CArchive对象来进行客户端与服务器端之间的Socket通信

  6) 通信结束,关闭套接字,退出程序。

  2 TCP网络通信平台程序的实现

  本程序是为机器人遥 *** 作的通信所搭建的一个网络通信平台,该平台实现了本地服务器与远程客户机之间的数据网络通信,系统结构图如图2所示。

  

机器人遥 *** 作网络通信平台的设计,遥 *** 作系统结构图,第3张

 

  图2 遥 *** 作系统结构图

  本文的程序设计是基于TCP/IP协议的,使用客户机/服务器模式。本程序设计调试的网络环境为采用Windows XP中的 TCP/IP协议配置的局域网,服务器的的IP地址是“192.168.0.104”,通信端口可任意设置,本文设为4231。

  

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/dianzi/2641467.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-08-12
下一篇 2022-08-12

发表评论

登录后才能评论

评论列表(0条)

保存