受信した1枚の画像を表示できますが、今度は5秒ごとにAndroidクライアントから送信される複数の画像をディスクに送受信したいと考えています。datainputstreamを使用してソケットから読み取る方法
Socket sock = servsock.accept();
dataInputStream = new DataInputStream(sock.getInputStream());
dataOutputStream = new DataOutputStream(sock.getOutputStream());
System.out.println("Accepted connection : " + sock);
dataInputStream = new DataInputStream(sock.getInputStream());
byte[] base64=dataInputStream.readUTF().getBytes();
byte[] arr=Base64.decodeBase64(base64);
FileOutputStream imageOutFile = new FileOutputStream("E:\\image.jpeg");
imageOutFile.write(arr);
VGしかし、私はBase64エンコーディングを取り除き、DataInputStream.readFully()を使用します。 – EJP
この場合... 'for(.....){ int imgLen = dataInputStream.readInt(); byte [] arr =新しいバイト[imgLen]; dataInputStream.readFully(arr); // [... cut ...] ' – ggrandes
このエラーが発生していますスレッド" main "の例外java.lang.OutOfMemoryError:Javaヒープスペース \t at server.main(server.java:52) –