我正在使用TCP套接字在Java中进行客户端服务器编程。在输出流中写入消息后,我开始读取输入流,并继续读取直到输入流返回-1(EOF)。但是它没有返回-1,我被卡住了。请提出您的建议。看下面的代码。

int bytesRead = tcpSocket.readPacket(buffer);
while(bytesRead != -1) {
    builder.append(new String(buffer, 0, bytesRead));
    bytesRead = tcpSocket.readPacket(buffer);
}

最佳答案

如果是Socket,则在终止连接时(通常)将返回-1。

在您的情况下,我想没有更多的数据通过,但也不返回-1。

10-01 22:53