caik89757 2013-08-19 08:32 采纳率: 0%
浏览 1882

android socket编程问题

代码:运行在pc端的代码:
public class SimpleServer {

public static void main(String[] args) throws IOException,
        InterruptedException {
    ServerSocket ss = new ServerSocket(30000);
    while (true) {
        System.out.print("before accept");
        Socket s = ss.accept();
        System.out.print("after accept");
        OutputStream os = s.getOutputStream();
        os.write("你好!我是来自服务器的数据!\n".getBytes("utf-8"));
        os.close();
        s.close();
    }
}

}

运行在android设备上的代码:
public class MainActivity extends Activity {

EditText show;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    Log.d("tag", "in oncreate");
    show = (EditText) findViewById(R.id.msg_tv);

    myThread.start();
}

Thread myThread = new Thread(new Runnable() {

    @Override
    public void run() {
        // TODO Auto-generated method stub
        Log.d("tag", "in myThread");
        try {
            Log.d("tag", "before socket");
            Socket socket = new Socket("192.168.16.35", 30000);
            Log.d("tag", "after socket");
            BufferedReader br = new BufferedReader(new InputStreamReader(
                    socket.getInputStream()));
            String line = br.readLine();
            Log.d("tag", "line-->"+line);
            show.setText("来自服务器的数据: " + line);
            br.close();
            socket.close();
        } catch (UnknownHostException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }
});

}

服务器端代码运行后,客户端代码在android模拟器上运行达到了我想要的结果,但是在真机上运行却没有出现我想要的结果。
不知道这是为什么?

  • 写回答

1条回答

  • Jerome_Song 2013-12-10 12:35
    关注

    真机和电脑是一个局域网吗?可能是问题的关键。

    评论

报告相同问题?

悬赏问题

  • ¥15 安装svn网络有问题怎么办
  • ¥15 Python爬取指定微博话题下的内容,保存为txt
  • ¥15 vue2登录调用后端接口如何实现
  • ¥65 永磁型步进电机PID算法
  • ¥15 sqlite 附加(attach database)加密数据库时,返回26是什么原因呢?
  • ¥88 找成都本地经验丰富懂小程序开发的技术大咖
  • ¥15 如何处理复杂数据表格的除法运算
  • ¥15 如何用stc8h1k08的片子做485数据透传的功能?(关键词-串口)
  • ¥15 有兄弟姐妹会用word插图功能制作类似citespace的图片吗?
  • ¥15 latex怎么处理论文引理引用参考文献