基于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字,全部文档内容请下载后查看。喜欢就下载吧 ……
相关推荐:
- [外语考试]管理学 第13章 沟通
- [外语考试]07、中高端客户销售流程--分类、筛选讲
- [外语考试]2015-2020年中国高筋饺子粉市场发展现
- [外语考试]“十三五”重点项目-汽车燃油表生产建
- [外语考试]雅培奶粉培乐系列适用年龄及特点
- [外语考试]九三学社入社申请人调查问卷
- [外语考试]等级薪酬体系职等职级表
- [外语考试]货物买卖合同纠纷起诉状(范本一)
- [外语考试]青海省实施消防法办法
- [外语考试]公交车语音自动报站系统的设计第3稿11
- [外语考试]logistic回归模型在ROC分析中的应用
- [外语考试]2017-2021年中国隔膜泵行业发展研究与
- [外语考试]神经内科下半年专科考试及答案
- [外语考试]园林景观设计规范标准
- [外语考试]2018八年级语文下册第一单元4合欢树习
- [外语考试]分布式发电及微网运行控制技术应用
- [外语考试]三人行历史学笔记:中世纪人文主义思想
- [外语考试]2010届高考复习5年高考3年联考精品历史
- [外语考试]挖掘机驾驶员安全生产责任书
- [外语考试]某211高校MBA硕士毕业论文开题报告(范
- 用三层交换机实现大中型企业VLAN方案
- 斯格配套系种猪饲养管理
- 涂层测厚仪厂家直销
- 研究生学校排行榜
- 鄱阳湖湿地景观格局变化及其驱动力分析
- 医学基础知识试题库
- 2010山西省高考历年语文试卷精选考试技
- 脉冲宽度法测量电容
- 谈高职院校ESP教师的角色调整问题
- 低压配电网电力线载波通信相关技术研究
- 余额宝和城市商业银行的转型研究
- 篮球行进间运球教案
- 气候突变的定义和检测方法
- 财经大学基坑开挖应急预案
- 高大支模架培训演示
- 一种改进的稳健自适应波束形成算法
- 2-3-鼎视通核心人员薪酬股权激励管理手
- 我国电阻焊设备和工艺的应用现状与发展
- MTK手机基本功能覆盖测试案例
- 七年级地理教学课件上册第四章第一节