我试图从套接字读取,直到达到“\ 0”(null)。这是Flash使用的终结符。我也有这个问题,用C(++)。
while ((inputLine = in.readLine()) != null) {
outputLine = kkp.processInput(inputLine);
out.println(outputLine);
if (outputLine.equals("Bye."))
break;
}
Oracle Java文档中的示例代码在我的情况下不起作用,因为“readLine”只计算\ r \ n等。我不知道如何阅读缓冲区,我对如何做到这一点有一些想法,但我不确定如何实现。
答案 0 :(得分:0)
您可以使用DataInputStream对象从套接字读取单个字节。
DataInputStream inStream = new DataInputStream(socket.getInputStream());
byte next = inStream.readByte();
答案 1 :(得分:0)
你可以做到
InputStream in = socket.getInputStream();
for(int b; ((b = in.read()) > 0;) {
// do something with b.
}
// stops at end of file or b == 0.