소켓을 통해 이미지를 matlab 서버에서 Java 클라이언트로 보내려고합니다. 먼저 이미지를 바이트 배열로 변환하고 길이를 지정해야하는 클라이언트 측에서 readFully 메서드를 사용했습니다. 문제는 바이트 배열의 크기가 한 이미지에서 다른 이미지로 변경되고 write() 메서드를 통해 크기를 보낼 때 클라이언트 측에서 올바르게 읽지 않는다는 것입니다. 여기 내가 같은 읽기, readInt,이 외에도 readDouble 많은 방법을 시도 클라이언트 측에 내 코드matlab에서 소켓을 통해 java로 바이트 배열로 이미지 보내기
matlab에 서버
%% convert image
Javaimage=im2java2d (image);
Arraystream=ByteArrayOutputStream;
ImageIO.write (javaimage,'jpg', arraystream)
Arraystream.flush();
Bytearray=arraystream.toByteArray;
%% send size through output stream
Outstream=write (size (byteArray, 1))
%% send array
outStream=write (byteArray);
의 조각,하지만 난 문제가 쓰기() 메소드 I 생각 내의 writeInt()를 사용하려고하지만 MATLAB 내가 라이브러리가 필요 포함하더라도 그것을 인식하지 않았다 : 나는 또한 것을 포함해야한다
Java.io Java.net java.io.DataOutputStream의 Java.io.datainputstream
을 크기 그 배열은 일반적으로 10000 이상이다 나는 어떤 도움을 주셔서 감사합니다 미리 감사드립니다
Arraystream = ByteArrayOutputStream; 정의되지 않은 함수 또는 변수 'ByteArrayOutputStream'. 이 문제를 해결하도록 도와 주시겠습니까? – user1850484
@ user1850484, 정말 도와 드리고 싶습니다. 코드를 보여줌으로써 좀 더 명확히 할 수 있습니까 ?? 어쩌면 당신은 자바 라이브러리를 가져 오지 않았을 것입니다. – user3552551
나는 이미 문제를 해결했다. 고맙습니다. – user1850484