教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 文库大全 > 外语考试 >

基于Socket的无线通信协议方案设计

来源:网络收集 时间:2025-09-23
导读: TCP_TP协议下的网络通信的应用开发 广东水利电力职业技术学院学报 第5卷第1期2007年3月 JournalofGuangdongTechnicalCollegeofWater ResourcesandElectricEngineering Vol.5No.1Mar.2007 基于Socket的无线通信协议方案设计 黄昊晶 (广东水利电力职业技术学院

TCP_TP协议下的网络通信的应用开发

广东水利电力职业技术学院学报

第5卷第1期2007年3月

JournalofGuangdongTechnicalCollegeofWater

ResourcesandElectricEngineering

Vol.5No.1Mar.2007

基于Socket的无线通信协议方案设计

黄昊晶

(广东水利电力职业技术学院,广东广州 510635)

摘 要:简析应用ARM嵌入式处理器便携设备的无线通信协议设计方案,该方案根据Socket网络通信的编程模型设计面向连接的通信协议,可以实现手机、PDA等便携设备通过蓝牙、红外线发射器等硬件进行无线通信。

关键词:无线通信;便携设备;协议;方案;设计

中图分类号:TP393.0   文献标识码:A   文章编号:1672-2841(2007)01-0058-04

引 言

电子文档、数据资料、报表、邮件、图片、音乐等各种日常办公和个人生活的数据信息量随着计算机硬件技术、信息和网络技术的高速发展呈几何级膨胀,IT,使各种通信

1 通信编程接口

1. S,我们习惯把它称为

Unix网络进程通信发展到现Socket,已经成为C/S系统网络编程的标准。套接字是网络通信的基础,是支持网络协议通信的基本接口。当它作为进程通信机制的时候,我们可以把套接字看作是不同主机的进程进行网络通信的端点,只要双方的Socket有通信连接,两者之间就可以任意通信。

设备、存储设备、娱乐设备甚至家电设备发生了高度的集成。手机、PDA等手持设备随着普及率的飞速提高,在各大手机和IT厂商的推动下,逐渐成为统一便携设备市场呼声最高的领头羊。目前绝大部分手机已经具备存储(移动磁盘)、数字娱乐(MPEG)、小型家电(数码相机)、网络通信(蓝牙)等成熟的各种技术功能。因此我们有理由相信手机等嵌入式便携设备都将成为每个人都拥有的数据通信和数据传输设备。

小体积、低功耗、低成本而高性能的ARM处理器是目前嵌入式设备开发最流行的微处理器,它的特点非常适合对价位和功耗敏感的移动便携设备,而ARM公司已经成为移动通信、手持设备、多媒体数字消费嵌入式解决方案的RISC标准

[1]

1.2 套接字类型

套接字根据通信性质可以分为数据报套接字和流式套接字。数据报套接字是无连接的通信方式,支持双向的数据流,但传输过程中并不保证数据传输的可靠性、有序性和无重复性。流式套接字提供了双向的、有序的、无重复以及无记录边界的数据流服务,适合处理大量数据。流式套接字通信是面向连接的通信,通信前要先建立数据传输链路,为后继数据的传输确定可以确保有序到达的路径,也保证数据的

[2]

正确性。因此,尽管系统开销较大,但根据便携设备存储和

便携设备可以使用USB有线数据通信或者通过蓝牙、红

传输数据的特点,我们还是选用对数据传输质量更有保证的流式套接字作为无线通信协议的套接字类型。

外线发射器等硬件进行无线通信。作为数据通信的软件开发者,我们可以根据Socket编程模型,使用C语言设计面向连接的数据通信协议,较简单地为以ARM芯片为处理器,带有蓝牙、红外线发射器等硬件的便携设备实现无线通信软件的底层协议设计。

1.3 面向连接的客户机/服务器编程模型

我们使用客户机/服务器的通信方式作为协议的通信方式,如图1所示。这种方式可以让服务器只专注于高速的运算和及时的响应,也给予了客户机很大的发挥空间,是目前网络通信的核心。根据流式套接字的特点,服务器先创建套接字并初始化完毕,然后进入休眠状态等待连接,直到一个客户机向服务器提出了连接请求,此时服务器被唤醒,响应客户机的请求,建立连接并为客户机提供服务

收稿日期:2006207213

作者简介:黄昊晶,助教,主要从事计算机网络和计算机应用教学工作。

2 通信协议概要设计

2.1 三层协议

TCP_TP协议下的网络通信的应用开发

第1期              黄昊晶:基于Socket的无线通信协议方案设计我们把整个协议设计为三层,自下而上分别是:传输层、网络层和应用层,如图2所示

59

时间去关注复杂的ARM指令,可以集中精力优化源代码。

3.1 实现传输层

传输层主要用于设计一些数据通信前的准备工作和网络层需要调用的方法,包括这些函数:

(1)MakeID():创建通讯ID号,可根据通信开始的精确

时间创建ID,由于服务器一定比客户机启动时间要早,因此不会出现生成相同ID的情况;

(2)SetTimeOut( ):设置响应溢出时间,即设置响应等

待时间的最大值;

(3)CmpID( ):比较接收到的ID,保证通信对方的ID

不变;

(4)Init( ):初始化通信环境,即通信前的准备,设置响

应的溢出时间,包括为缓冲区分配资源,生成ID号;

(5)Release( ):释放通信环境和资源;

(6)DataIsArrive( ):检查是否有数据到达或者通信一

方检查是否有请求连接的数据;

(7)Bind( ):ID;

(8)( ):,;

(,成功则返回实际接收的字

图1 客户机/3.2 实现网络层

2.2 模块设计

根据流式套接字和面向连接编程模型的特点,客户机/服务器双方都要实现的模块包括:创建套接字、发送数据、接收数据、关闭套接字;服务器单独实现的模块:绑定套接字、监听连接、接受连接;客户机单独实现的模块:建立连接。

创建套接字、发送数据、接收数据、关闭套接字在传输层设计,用于通信前的准备工作;其它模块在网络层设计,用于建立连接并调用传输层函数进行数据通信;应用层用于实现通信协议与手持设备控制软件或者操作系统的接口,是通信功能的入口。

据。

3.2.2 服务器

(1)Listen( ):侦听连接,服务器检测是否有数据到达,

网络层参照面向连接的编程模型,见图2,用于创建一条通信链路,

进行数据的传输。由于服务器和客户端的功能有区别,因此我们把服务器和客户端分开实现功能:

3.2.1 客户机

(1)FindServer( ):查找一个有效的服务器;(2)Connect( ):客户机创建与服务器的连接;(3)TestLink( ):测试连接是否成功;

(4)DownLoad( ):客户机从服务器下载需要的文件数

2.3 全局变量设计

与标准的Socket通信协议应用环境不同的是,手机、PDA等手持设备通常不是使用网卡等网络通信设备,因此套接字绑定的不是IP地址,而是在无线通信网络中的一个独一无二的地址,这个地址我们把它称为通信ID,我们可以在不同的手持设备随机生成的不同的ID号实现连接和通信。

通信时,设计一个全局变量描述每次的通信过程。变量的类型可以自定义一种包含通信时产生的数据的结构体。而通信时产生的数据包括:通信ID、收发数据的缓冲区、响应溢出时间(就是通信连接时最长的响应等待时间)。

务;

收到连接请求则记忆客户机ID,保证对客户端的同一次广播只做一次响应,等待连接期间应允许用户中断;

(2)Accept( ):接收客户端连接;

(3)OperateResponse( ):响应客户机请求提供相应服(4)Disconnect( ):服务器关闭。

3.3 实现应用层

应用层为网络层的服务器和客户机功能的入口以及整个无线通信协议与手持设备的控制管理系统的接口,见图2。包括服务器功能模块,客户机功能模块以及设备控制软件接口模块:

(1)Server( ):服务器功能;(2)Client( ):客户机功能;

(3)MainInterface( ):设备控制软件接口。

3 实现无线通信协议

要使通讯功能在没有嵌入式系统的ARM机上 …… 此处隐藏:3849字,全部文档内容请下载后查看。喜欢就下载吧 ……

基于Socket的无线通信协议方案设计.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wenku/1694138.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)