-3

我有一个应用程序在我的亚马逊实例上的端口 xxxx 上运行,ip aa.aaa.a.aaa 目前我可以通过 telnet 使用

telnet aa.aaa.a.aaa xxxx

它是一个聊天应用程序,它从任何连接的客户端接收消息并将消息广播给所有其他客户端,到目前为止它与 telnet 配合得很好

我想知道如何从一个 android 应用程序中连接到这个应用程序。这是我迄今为止在android中尝试过的

public String connect () {
        Scanner scan;
        HttpURLConnection urlConnection = null;

        try {
            try {
                URL url = new URL("http://54.214.9.156:8189");
                urlConnection = (HttpURLConnection) url.openConnection();
                InputStream in = new BufferedInputStream(urlConnection.getInputStream());
                scan = new Scanner(in);

                boolean done = false;
                while(!done){
                    if (scan.hasNextLine()){
                        String line = scan.nextLine();
                        if (line.trim().equals("BYE")) done=true;
                        return line;
                    }
                }

            }finally {
                urlConnection.disconnect();
            }
        } catch (Exception e) {}
        return "";
    }

但是不起作用,我的调试器什么也没告诉我。谁能告诉我该怎么做?谢谢 注意:聊天应用程序是使用服务器套接字用 java 编写的

4

1 回答 1

0

确保您的清单中有这一行:

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

此外,如果您在主线程上发出网络请求,则需要使用 AsyncTask(preferred) 或 Thread/Handler 将网络操作移动到后台线程。在更高版本的 Android 系统中,如果您尝试在主线程上进行网络调用,则会引发异常。

于 2013-06-03T21:20:54.507 回答