• Android与PC客户端进行Socket通信的一些问题


    今天想实现一个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内置的IP 10.0.2.2 ,  10.0.2.2 是模拟器设置的特定ip,是你的电脑的别名alias

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

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

  • 相关阅读:
    关于pipe管道的读写端关闭问题
    线性表的链式存储——C语言实现
    关于无法解析的外部符号 _main
    Tomcat域名与服务器多对多配置
    JavaScript基础
    Vue.js入门
    SpringBoot注解大全,收藏一波!!!
    数据库连接错误
    SpringBoot入门
    MyBatis插入并返回id技巧
  • 原文地址:https://www.cnblogs.com/wanyao/p/2268309.html
Copyright © 2020-2023  润新知