서버 통신 관련 질문
조회수 399회
FileInputStream fis = new FileInputStream(file);
BufferedInputStream bis = new BufferedInputStream(fis);
OutputStream os = socket.getOutputStream();
DataOutputStream dos = new DataOutputStream(os);
int count;
int input_size = 1024;
byte[] input_data = new byte[input_size];
while ((count = bis.read(input_data)) != -1) {
String send_Contents ="METHOD="+method+",SIZE="+size+",DATA=data";
byte[] contents_byteArr = send_Contents.getBytes("UTF-8");
dos.write(contents_byteArr,0,count);
dos.flush();
}
클라이언트에서 이런식으로 input_szie만큼 DataOutputStream 으로 자료를 보낼때 서버에서 input_size만큼만 받아서 String으로 변환해서 사용 하는 방법이 있을까요? 서버에서는 앞에 method 관련 작업을 끝내고 다음 byte[] 를 받고 싶습니다.
예를 들어
클라이언트에서 1024만큼 string을 byte[]로 변환한 값을 dos에 write해서 flush하는 과정을 다 보낼때까지 반복
서버에서는 1024만큼만 받아서 해당 값을 string으로 변환 후 method 값만 확인하여 해당하는 작업 실행
다시 inputstream으로 돌아와서 1024를 받아와서 2번의 과정을 끝날때까지 반복
동기, 비동기 식이라고 해야하나요? 어떻게 처리해야 할까요
-
(•́ ✖ •̀)
알 수 없는 사용자
댓글 입력