嗨,我已经创建了一个服务器套接字,用于使用 getInputStream 从套接字读取字节数组,但是在 endof 数据到达后 getInputStream.read 没有退出。下面是我的代码。
class imageReciver extends Thread {
private ServerSocket serverSocket;
InputStream in;
public imageReciver(int port) throws IOException
{
serverSocket = new ServerSocket(port);
}
public void run()
{
Socket server = null;
server = serverSocket.accept();
in = server.getInputStream();
ByteArrayOutputStream baos = new ByteArrayOutputStream();
byte buffer[] = new byte[1024];
while(true){
int s = 0;
s = in.read(buffer); //Not exiting from here
if(s<0) break;
baos.write(buffer, 0, s);
}
server.close();
return;
}
}
如果我从客户端发送了 2048 个字节,则该行在 in.read(buffer)
读取两次后应该返回 -1,但它在那里等待第三次读取。我该如何解决这个问题?提前致谢....