微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > 射频无线通信设计 > 第三篇 改个APK来玩玩

第三篇 改个APK来玩玩

时间:10-02 整理:3721RD 点击:


一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服务器,安卓作为客户端,经过多次测试,丢包的情况时有发生,未找到原因。




把APK文件上传到下载中心
(包含全部工程及其源码)
http://download.eeworld.com.cn/detail/%E5%B8%B8%E8%A7%81%E6%B3%BD1/565687

你是不是发的太快了?

也不快的 开始我也以为快了 后来慢点发还是会丢

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top