如何在同一Wifi网段上传输文件

本文介绍了如何在相同Wifi环境下通过socket和stream进行文件传输。关键在于遵循发送方的协议接收数据,并可能需要使用Handler处理Thread消息。文章提供源代码下载链接。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 最近做了一个Android平台Wifi功能的实现方法,发一下个人的经验来跟大家分享一下。。
    时间不多了,言归正传。我将如何实现这个功能分为三个步骤:
    1、首先,由类WifiInfo的getIpAddress方法获得自己在该AP上所分配到的IP地址,这个得到的是long int型的,所以记得先将其转换为String型哦(方法很简单,代码如下)
    private String intToIp(int i) {
     return (i & 0xFF) + "." + ((i >> 8) & 0xFF) + "." + ((i >> 16) & 0xFF) + "."
     + ((i >> 24) & 0xFF);
    }

    2、编写客户端:
    客户端与服务器通信之前,首先用socket创建连接,再由要传递的文件得到一个Stream对象(这些就不多说了,这种简单的socket通信大家都懂的)。值得一提的是传输的方法,一开始我使用序列化,创建一个类用来封装要传输的文件,然后传递该类的对象,服务器端也要对应的写一个类,用来处理所收到的这个对象,然后再获得该文件的内容。
    呵呵,我相信各位一看到这个2B的做法很想笑,原因很简单:这个方法是无法实现Android跟Iphone之间文件传输的。所以,我跟同事(Iphone开发工程师)一起写了一个简单的传送协议,放上来给大家提提建议:
评论 22
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值