效率低下的配置调试了很久..还是有些问题没有解决..
?
首先说一点题外话:对于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。