我使用guava和webknecht将inputStream转换为字符串并连接到websocket。webbernecht把我扔了出去,所以我尝试了一个非常简单的Socket-Connection从服务器得到任何答案。问题是,我无法读取输入流。我不知道为什么。
注意:在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());
}
CharStreams.toString
的文档说:
从可读对象中读取所有字符到String对象中。我的猜测是远端没有关闭套接字,所以没有流尾可以消耗,因此冻结。