黑马程序员技术交流社区

标题: 怎么让笔记本充当服务器,android手机充当客户端,实现通信 [打印本页]

作者: 段郎    时间: 2014-3-2 16:10
标题: 怎么让笔记本充当服务器,android手机充当客户端,实现通信
我的是联想笔记本,想实现笔记本充当服务器,手机可以实现与其信息交互,但是屡试都不行。
先说一下我连接的方式:
       我用tomcat运行一个简单jsp  用浏览器能访问到结果,用android模拟器也能返回结果,但是用真机就无法访问。请问哪位高手帮我解答一下。
我是用笔记本开启WiFi,手机连上WiFi,在WiFi连接里面查看到ip地址,

jsp代码
<%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<%
        String id=request.getParameter("id");
        String pwd=request.getParameter("pwd");
%>
<%
        if(id.equals("hui")&&pwd.equals("123")){
%>
                true
<% }
        else{
%>
                false
<%
       
        }
%>

android代码
AsyncTask task=new AsyncTask(){
                                        //onPostExecute方法在doInBackground方法结束后自动调用
                                        //doInBackground方法的返回值会作为onPostExecute参数
                                        //和doInBackground不同的地方是,这个方法是属于UI线程的
                                        @Override
                                        protected void onPostExecute(Object result) {
                                                TextView txt=(TextView)findViewById(R.id.txt);
                                                txt.setText(result.toString());
                                        }

                                        //doInBackground是一个后台任务执行的方法
                                        //其实它和Thread的run方法没有任何区别
                                        //doInBackground方法在你执行execute方法后被调用
                                        @Override
                                        protected Object doInBackground(Object... params) {
                                                try{
                                                        URL url=new URL(params[0].toString());
                                                        HttpURLConnection conn=(HttpURLConnection)url.openConnection();
                                                        conn.setConnectTimeout(6000);
                                                        conn.setRequestMethod("GET");
                                                        if(conn.getResponseCode()==200){
                                                                InputStream in=conn.getInputStream();
                                                                int len=0;
                                                                byte[] buff=new byte[1024];
                                                                ByteArrayOutputStream bos=new ByteArrayOutputStream();
                                                                while((len=in.read(buff))>0){
                                                                        bos.write(buff, 0, len);
                                                                }
                                                                String msg=new String(bos.toByteArray());
                                                                return msg;
                                                        }
                                                }catch(Exception e){
                                                        e.printStackTrace();
                                                }
                                                return null;
                                        }
                                       
                                };
                                task.execute("http://192.168.2.240:8080/MyWebServer/getText.do");//这里是WiFi连接电脑后查到的ip地址


作者: 薛淑凯    时间: 2014-3-2 19:53
笔记本开启wifi,是类似猎豹免费wifi那种的么。确定手机和电脑是在同一个网关吗。可以看看conn.getResponseCode()的错误码是什么
作者: 丶Z    时间: 2014-3-2 19:59
下个花生壳映射下你本机IP,把tomcat开成外网,手机拿3G网络也可以访问你的服务器了!
作者: 段郎    时间: 2014-3-22 10:45
薛淑凯 发表于 2014-3-2 19:53
笔记本开启wifi,是类似猎豹免费wifi那种的么。确定手机和电脑是在同一个网关吗。可以看看conn.getResponse ...

怎么查看手机的网管呢?





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2