0

我希望我的应用程序连接到服务器。我只想要客户。

protected void onCreate(Bundle savedInstanceState) {
    //...
    try {
             InetAddress serverAddr = InetAddress.getByName(serverIpAddress);
             socket = new Socket(serverAddr, REDIRECTED_SERVERPORT);

    } catch (UnknownHostException e1) {
         //... 
    } catch (IOException e1) {
         //...
    }
}

但是应用程序只是崩溃了。我通过按一个按钮开始了这项活动。你知道问题可能是什么吗?

4

1 回答 1

3

您需要在一个线程中执行所有阻塞进程,并释放主 UI 线程,例如:

protected void onCreate(Bundle savedInstanceState) {
    //...
    new Thread(){
        public run(){
            try {
                InetAddress serverAddr = InetAddress.getByName(serverIpAddress);
                socket = new Socket(serverAddr, REDIRECTED_SERVERPORT);
            } catch (UnknownHostException e1) {
                //... 
            } catch (IOException e1) {
                //... 
            }
        }
    }.start();
}
于 2013-03-22T11:16:29.010 回答