android套接字连接,inputStream使用socket.io或节点websocket服务器在readline上冻结

时间:2011-08-10 14:36:43

标签: android sockets websocket inputstream

使用guavaweberknecht将inputStream转换为字符串并连接到websocket [请参阅this帖子]。 Weberknecht把我扔了出去,所以我试着用一个非常简单的Socket-Connection从服务器上得到任何答案。问题是,我无法读取inputStream。我不知道为什么。

注意: 在Iphone上,Websocket-Server可以工作。 [我知道“websocket / = socket”......我只是在这里试图从服务器获得任何答案]

我的代码:

        try {
            Socket sock = new Socket("62.212.88.234", 15000);
            OutputStream out = sock.getOutputStream();
            InputStream in = sock.getInputStream();

            Log.e("SKT", "Reading input [! PROBLEM HERE !]");
            String string = CharStreams.toString(new InputStreamReader(in,
                    "UTF-8"));

            Log.e("SKT", "Answer [! NEVER REACHED !]:" + string);
            sock.close();

        } catch (UnknownHostException e) {
            Log.e("SKT", "UnknownHostException: " + e.getMessage());
        } catch (IOException e) {
            Log.e("SKT", "IOException: " + e.getMessage());
        }

提前感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

CharStreams.toString的{​​{3}}说:

将Readable对象中的所有字符读入String。

我的猜测是远程端没有关闭套接字,因此没有消耗流的末尾,因此冻结。