【Wio Link测评】第三篇 改个APK来玩玩

原    创

【Wio Link评测】第一篇 Wio Link上手试试看

【Wio Link测评】第二篇 Wio Link APP 5分钟能否完成一个设计

一 Socket简介

Android与服务器的通信方式主要有两种,一是HTTP通信,一是Socket通信。两者的最大差异在于,HTTP连接使用的是“请求—响应方式”,即在请求时建立连接通道,当客户端向服务器发送请求后,服务器端才能向客户端返回数据。  而Socket通信则是在双方建立起连接后就可以直接进行数据的传输,在连接时可实现信息的主动推送,而不需要每次由客户端想服务器发送请求。

Socket称套接字, 是应用层与TCP/IP协议族通信的中间软件抽象层,它是一组接口。在设计模式中,Socket其实就是一个门面模式,它把复杂的TCP/IP协议族隐藏在Socket接口后面,对用户来说,一组简单的接口就是全部,让Socket去组织数据,以符合指定的协议。通过建立socket连接,可为通信双方的数据传输传提供通道。

一张万年老图

这些资料学linux的时候基本大家都有学过,不累赘说了。

二 UDP通信模型

三 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界面

五 测试结果

两部手机都连接上wiolink的wifi,其中一部iphone安装上网络调试助手

另一部安卓手机安装自己的app。Iphone作为udp服务器,安卓作为客户端,经过多次测试,丢包的情况时有发生,未找到原因。

(0)

相关推荐