Android实践 -- Android Wi-Fi 直连 传输数据

本文介绍了Android设备间通过Wi-Fi直连进行数据传输的实现步骤,包括创建server端监听client连接,client端根据server IP和端口建立连接并发送数据,以及server端接收并处理数据的逻辑。提供了关键代码片段,并建议在两台设备上安装应用进行测试。

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

Android Wi-Fi直连 传输数据

一旦两个设备之间建立了Wi-Fi直连,那么这两个设备之间就可以通过socket传输数据大概得步骤如下:
* 通过ServerSocket创建一个server端,在后台一直坚挺是否有client端连接
* 通过Socket建立一个client端,根据server端的ip和port,连接到server端
* 建立连接之后,通过client向server端发送数据
* server端接到数据之后,可以对数据做对应的处理

Client端的核心逻辑
  • 在服务中创建一个client,并发送数据

      public class FileTransferService extends IntentService{
         
      ...
      @Override
      protected void onHandleIntent(Intent intent) {
          Context context = getApplicationContext();
          if(intent.getAction().equals(ACTION_SEND_FILE)){
              String fileUri = intent.getExtras().getString(EXTRAS_FILE_PATH);
              String host = intent.getExtras().getString(EXTRAS_GROUP_ADDRESS);
              Socket socket = new Socket();
              int port = intent.getExtras().getInt(EXTRAS_GROUP_PORT);
              try{
                  socket.bind(null);
                  //根据server端的地址和端口建立socket,并设置超时
                  socket.connect(new
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值