Android socket 开发中遇到的问题.

本文介绍了如何解决Android应用中常见的网络访问问题,包括权限配置、线程管理和客户端连接配置等。针对不同问题提供了具体解决方案,如正确设置AndroidManifest.xml中的互联网权限、避免在UI线程发起网络请求以及正确配置socket客户端的IP地址。

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

1.权限问题

  AndroidManifest.xml 文件中添加

  <uses-permission android:name="android.permission.INTERNET"/> 


2.线程问题

  android 的新版本中已经不允许在UI线程中请求网络服务,所以必须在子线程请求.


3.android  socket 客户端监听IP

  在PC端做了个模拟的服务器, 

  开始在android 中监听PC的本地IP(127.0.0.1) ,但是出现

connect failed: ECONNREFUSED (Connection refused)的错误.


网上搜了下

  

  • 服务已经崩溃或尚未开始,
  • 您的客户尝试使用了错误的IP地址或端口 连接
  • 服务器的访问被防火墙阻止那就是“拒绝接受”代服务器/服务的。这是pretty不太可能,因为正常的做法(这几天)是防火墙“黑洞”的所有不必要的连接尝试
分析了下最有可能的是第二个
最后google 出下面的结论
To access your PC localhost from Android emulator, use 10.0.2.2 instead of 127.0.0.1. localhost or 127.0.0.1 refers to the emulated device itself, not the host the emulator is running on.

     尝试了下问题解决.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值