当前位置: 代码迷 >> Android >> android上socket的ip配置
  详细解决方案

android上socket的ip配置

热度:88   发布时间:2016-05-01 14:21:49.0
android下socket的ip配置

效率低下的配置调试了很久..还是有些问题没有解决..

?

首先说一点题外话:对于android工程中的R文件的损害或丢失,只需要直接点击android工程,选择android tools 选项,点击Fix Project Properties就会自动生成gen 文件夹下的R文件——另外保证你资源文件的正确性,比如:setContentView(R.layout.main)——此时会自动更新layout中指定的xml文件,R中会自动生成其中声明的组件对象。

?

首先要记得在配置文件中加入:

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


在android下进行socket编程,代码与普通java并无二异。只不过此时服务器仍是pc机(拥有相对固定的ip),而使用移动的手机端做客户端(移动设备的ip是动态分配的,不固定,因此不能用手机做服务器)。基本过程是通过socket连接,获取各自的输入输出流,并进行相应读写,不详说。

?

关于客户端请求的ip设置,当然此时不可再用localhost或者127.0.0.1(因为手机本身也有)

因此我第一步的ip必须是为对外可见的ip,如socket = new Socket("192.168.1.102",54321)——本机在本局域网中的ip。

由于这个ip是局域网内的ip,要使得其对外可见,必须进行第二步:进入本机的TPLINK设置http://192.168.1.1/,在转发规则中的DMZ主机设置暴露你的ip给外界启用————注意手机模拟器是与主机在同一个局域网中,所以可以根据局域网内的ip进行识别和访问!!!

后来测试,第二步省略了也可,如此一来又多了一堆我解释不了的东西....麻烦!

?

基础不牢..

望有谁对此有见解的计算机网络高手给个解释才好..为什么直接使用外网可见的ip如183.3.181.xxx有时行有时不行呢。

测试过程中还是有其他一些问题。比如中午乱码。依然没解决。

?

实在解决不了问题就尝试一下:

要么重新建一个工程搬过去试试看

要么注意在创建项目时指定min sdk version,并且使用对应的android api进行运行测试!

?

?

最后再补充点题外话,可以通过cmd下ipconfig /all获取本机ip和DNS信息,方便手工配置ip和DNS而不使用DHCP自动获取ip。

  相关解决方案