0

我正在尝试从套接字读取,直到达到“\0”(空)。这是 Flash 使用的终止符。在 C(++) 中,我也遇到了这个问题。

while ((inputLine = in.readLine()) != null) {   
    outputLine = kkp.processInput(inputLine);
    out.println(outputLine);
    if (outputLine.equals("Bye."))
    break;
}

Oracle Java 文档中的这个示例代码在我的情况下不起作用,因为“readLine”只会计算 \r\n 等。我不知道如何读入缓冲区,我对如何做有一些想法,但我不确定如何实现。

4

2 回答 2

0

您可以使用DataInputStream对象从套接字读取单个字节。

DataInputStream inStream = new DataInputStream(socket.getInputStream());

byte next = inStream.readByte();
于 2012-09-07T14:57:17.927 回答
0

你可以做

InputStream in = socket.getInputStream();

for(int b; ((b = in.read()) > 0;) {
   // do something with b.
}
// stops at end of file or b == 0.
于 2012-09-07T15:04:19.120 回答