【技术实现步骤摘要】
本专利技术属于网络
,尤其涉及一种基于Android的无线局域网通信方法。
技术介绍
在生产与生活当中,人与人之间离不开沟通与交流,随着科学的发展、技术的进步人们的沟通方式也在发生着潜移默化的改变。随着网络技术和软件技术的不断进步,越来越多的人通过社交网络来结识新的朋友,代表软件有:MSN、QQ、微信、易信等,但他们只是对传统社交网络的拓展。当今网络技术逐步朝着“高速”与“无线”的趋势过渡发展,无线网络以其独有的优势得到企业与个人的青睐。无线网络包含有:WLAN(无线局域网)、无线个人区域网、无线广域网和固定接入无线技术。其中,无线局域网发展最为迅速,产品也日渐成熟,它以IEEE 802.11b标准作为传输协议,支持最大的传输速率达到11Mbit/s。随后于1999年成立的WiFi联盟对无线局域网的发展提供可靠的保障。相较于有线局域网,无线局域网具有以下优点:移动性灵活:WLAN提供了对终端移动性的支持,去掉了布线的束缚,终端可在AP覆盖范围内任意移动,并且在保持网络连接不中断的情况下可在不同AP间移动切换。传输速率高:WLAN目前的传输速率可达11Mbit/s,通过应用OFDM技术的WLAN,可高达54Mbit/s,远远超过有线网络的传输速率。资源共享:在不超过规定容量要求的基础上,多个终端可共用一个AP。易于扩展:因为没有布线的局限,用户可随意地增添、重新建立工作站。基于网络通信的便捷性与经济性的需求,通过移动终端在无线局域网实现通信具有其存在的价值与意义。一方面,局域网内部进行通信,避免了同外网的数据交互,在安全性方面提供了很大的保障;另一方 ...
【技术保护点】
一种基于Android的无线局域网通信方法,其特征在于,该基于Android的无线局域网通信方法包括:基于Android的UDP Socket通信;实时发现有新的节点加入移动网络并更新节点列表;有节点离开时能实时做出响应并告知该网络中的用户,实现跨网段的通信。
【技术特征摘要】
1.一种基于Android的无线局域网通信方法,其特征在于,该基于Android的无线局域网通信方法包括:基于Android的UDP Socket通信;实时发现有新的节点加入移动网络并更新节点列表;有节点离开时能实时做出响应并告知该网络中的用户,实现跨网段的通信。2.如权利要求1所述的基于Android的无线局域网通信方法,其特征在于,基于Android的UDP Socket通信方法为:在广播数据包之前,发送方和接收方分别创建一个Socket对象,并指定DatagramPacket数据包存储要被发送的数据,在定义UDP Socket服务时,对给定的固定的端口进行监听;需要发送数据时,通过监听到的唯一标识UDP套接字的连接ID打开UDP连接并设置通信超时上限,接着将待发送数据写入到发送缓冲中,然后调用Socket对象的数据发送方法send()发送数据包,send方法发送的数据报文包含目的IP地址、端口地址、消息缓冲区大小信息;需要接收数据时,通过监听到的唯一标识UDP套接字的连接ID打开UDP连接并设置通信超时上限与接收缓冲区长度n,然后调用Socket对象的数据接收方法receive()将发送过来的数据包写入到接收缓冲区,数据报文包含用户的ID号、IP地址、消息内容;数据接收方法在未完成从接收缓冲区读取UDP数据报的数据时,不对其它数据接收方法的调用;当消息从网络中到达后,消息所包含的数据被UDP的receive()方法返回前,数据存储在一个先进先出的接收数据队列中,一个UDP Socket所接受的数据存放在相应的唯一一个消息队列中,每个消息都关联自己源地址信息,每次receive()调用只返回一条消息;由于receive()方法中设置的消息缓存区的长度大小为n,因此当该消息长度大于n时,receive()方法最多只返回这条消息的前n个字节。3.如权利要求2所述的基于Android的无线局域网通信方法,其特征在于,接收方操作步骤为:A、启动Socket连接;B、创建一个multicastSocket对象,并设定监听端口;将UDP端口编号加入到组播组;C、创建一个byte数组进行接收,获得用户ID号和获得请求方的ip地址,并接收信息;D、创建一个空的DatagramPackage对象;E、使用receive()方法对发送方所发送的数据进行接收,同时进行阻塞;F、解析接收到的数据信息;所述数据信息包括接收方ID、发送方ID、用户的昵称、用户的IP地址、接收信息的时间;G、关闭Socket连接,离开组播组。4.如权利要求2所述的基于Android的无线局域网通信方法,其特征在于,发送方操作步骤为:a、启动Socket连接;b、创建一个multicastSocket对象,并将这个对象加入到组播组;c、创建一个InetAddress;d、将消息转为byte类型;e、创建一个DatagramPacket对象,并指定其要被发送到的网络中的目的地址以及端口号;f、调用multicastSocket对象的send方法发送数据;g、关闭Socket连接,离开组播组。5.如权利要求1所述的基于Android的无线局域网通信方法,其特征在于,实时发现有新的节点加入移动网络并更新节点列表方法包括:初始化指令缓存、检测网络状态,获取本地IP地址、启动Socket连接、注册广播接收器、获取自身信息、向网络发送心跳包,并注册自己;初始化指令缓存包括初始化用户注册指令缓存、初始化信息发送指令缓存;检测网络连接状况,获取本地IP地址;获得自身相关信息包括连接标志号、昵称及通讯节点数量,更新注册命令的用户数据和更新通话命令的用户数据;向网络发送心跳包,并注册自己为定时向对方发送心跳包,告知对方自己仍“在线”,心跳包发送时间间隔为10秒钟。6.如权利要求1所述的基于Android的无线局域网通信方法,其特征在于,检测网络连接状况,获取本地IP地址,方法为:首先,设置用户上网权限,允许Internet访问;然后,检测所有的网络接口,得到每一个网络接口绑定的IP地址;最后,判断如果该IP地址是IPv4地址且不是回送IP,则该IP地址就是该网络接口的IP。7.如权利要求1所述的基于Android的无线局域网通信方法,其特征在于...
【专利技术属性】
技术研发人员:梁庆中,樊媛媛,林启明,姚宏,曾德泽,颜雪松,胡成玉,刘超,
申请(专利权)人:中国地质大学武汉,
类型:发明
国别省市:湖北;42
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。