[原创] 【Wio Link】第三篇 改个APK来玩玩

常见泽1   2017-10-11 14:21 楼主
一Socket简介
Android与服务器的通信方式主要有两种,一是HTTP通信,一是Socket通信。两者的最大差异在于,HTTP连接使用的是请求响应方式,即在请求时建立连接通道,当客户端向服务器发送请求后,服务器端才能向客户端返回数据。而Socket通信则是在双方建立起连接后就可以直接进行数据的传输,在连接时可实现信息的主动推送,而不需要每次由客户端想服务器发送请求。
Socket称套接字, 是应用层与TCP/IP协议族通信的中间软件抽象层,它是一组接口。在设计模式中,Socket其实就是一个门面模式,它把复杂的TCP/IP协议族隐藏在Socket接口后面,对用户来说,一组简单的接口就是全部,让Socket去组织数据,以符合指定的协议。通过建立socket连接,可为通信双方的数据传输传提供通道。
一张万年老图
微信图片_20171011162843.png
这些资料学linux的时候基本大家都有学过,不累赘说了。
二UDP通信模型
微信图片_20171011162934.png
三android实现socket udp客户端编程
apk编程源码来源于http://blog.csdn.net/shankezh/article/details/50731287,自己做了一些修改。
现在互联网太发达了,自己也懒得从头来搞了,改改改!!
由于时间和水平都非常非常的有限!!!!
只能做一个简单的UDP客户端了,UDP服务器端本篇不做考虑。
(a)创建DatagramSocket对象,并指定一个端口 socket = new DatagramSocket(2425);
(b)创建一个InetAddress对象,用于描述IP地址的对象
hostAddress = InetAddress.getByName(hostIp);
(c)创建一个DatagramPacket对象,并指定这个数据报包发送到的IP地址以及端口号port packetSend = new DatagramPacket(msgSend.getBytes() ,
msgSend.getBytes().length,hostAddress,udpPort);
(d)发送数据 socket.send(packetSend);
四 APP界面 微信图片_20171011163136.png
五 测试结果
两部手机都连接上wiolinkwifi,其中一部iphone安装上网络调试助手
另一部安卓手机安装自己的appIphone作为udp服务器,安卓作为客户端,经过多次测试,丢包的情况时有发生,未找到原因。
微信图片_20171011163323.png
微信图片_20171011163344.png
本帖最后由 常见泽1 于 2017-10-11 16:34 编辑

回复评论 (3)

1 来自 4楼 常见泽1 

把APK文件上传到下载中心 (包含全部工程及其源码) https://download.eeworld.com.cn/detail/%E5%B8%B8%E8%A7%81%E6%B3%BD1/565687 本帖最后由 常见泽1 于 2017-10-27 13:37 编辑
点赞  2017-10-26 18:41
你是不是发的太快了?
淘宝:https://viiot.taobao.com/Q群243090717 多年专业物联网行业经验,个人承接各类物联网外包项目
点赞  2017-10-18 14:46
引用: wateras1 发表于 2017-10-18 14:46
你是不是发的太快了?

也不快的  开始我也以为快了 后来慢点发还是会丢
点赞  2017-10-26 18:27
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复