今天想实现一个Android与PC客户端进行Socket通信的功能,根据以往PC与PC端进行同时时的习惯,我用127.0.0.1来进行本地测试。

问题一:android java.net.connectException connection refused

这是一个经典错误, Socket不能对外连接,错误不会被报出,调试的时候,能看到Exception, 这个Exception会有很多变体, 所以不一一举例,只要存在网络互联,
该东东挺身而出,让你的程序不得运行。

原因是: 需要访问到网络,所以,在AndroidManifest.xml中,需要进行如下配置:

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

问题二:

Exception 1:java.net.ConnectException: localhost/127.0.0.1:8080 -
Connection refused

问题是这样的,android模拟器(simulator)把它自己作为了localhost,也就是说,代码中使用localhost或者127.0.0.1来访问,都是访问模拟器自己,而不是PC客户端!这是不行的!

如果你想在模拟器simulator上面访问你的电脑,有两种方式选择

1、使用android内置的IP10.0.2.2 10.0.2.2 是模拟器设置的特定ip,是你的电脑的别名alias

2、使用PC的IP,通过在命令提示符中ipconfig可以查看到

记住,在模拟器上用10.0.2.2访问你的电脑本机

更多相关文章

  1. android-客户端打包
  2. 异步访问----Android(安卓)AsyncTask 源码解析
  3. Xamarin.Android教程:模拟器选择
  4. 安装、卸载和运行程序
  5. Android(安卓)x86模拟器Intel Atom x86 System Image配置与使用
  6. android 读取文件相关
  7. android avd 键盘上的对应键
  8. Android(安卓)Studio无法运行模拟器或者真机的问题
  9. Android(安卓)4.0:Unable to find a 'userdata.img' file for ABI

随机推荐

  1. Phonegap软键盘遮挡输入框问题
  2. 漫谈Android安全框架
  3. Android开发者指南(11) ―― Optimizing
  4. Android NDK环境搭建
  5. Android(安卓)Lifecycle 生命周期管理
  6. HelloWorld-----Google手机操作系统Andro
  7. android客户端与服务端交互的三种方式
  8. android browser 的几个小feature (一)
  9. Android(安卓)地区语言和简写对照表
  10. 视频教程-Android Material Design 新控