从Android应用程序连接到端口上的亚马逊实例

时间:2013-06-03 20:49:58

标签: java android http

我在我的amazon实例上使用ip aa.aaa.a.aaa在端口xxxx上运行了一个应用程序 目前我可以使用

通过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编写的

1 个答案:

答案 0 :(得分:0)

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

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

此外,如果您在主线程上发出网络请求,则需要使用AsyncTask(首选)或线程/处理程序将网络操作移至后台线程。在Android系统的更高版本中,如果您尝试在主线程上进行网络调用,则会抛出异常。