C 에서 Java 로 파일 전송
C언어에서 Java로 jpg 파일을 전송하는 프로그램을 짜려고 하는데요,,
일단 Java 서버측 소스에서..
try {
while (true) {
socket = serverSocket.accept();
System.out.println("Server is ready !!!");
inputStream = socket.getInputStream();
File file = new File(LOCAL + fileName);
System.out.println("File Name : " + LOCAL + fileName);
fileOutputStream = new FileOutputStream(file);
int i = 0;
while ((i = inputStream.read()) != -1) {
fileOutputStream.write((char) i);
fileOutputStream.flush();
}
System.out.println("File create Success !!!");
closeStream();
System.out.println("Closed Stream !!!");
}
} catch (IOException e) {
e.printStackTrace();
System.out.println("File create Failed !!!");
}
이 예제 소스가 java 서버쪽 소스인데요. java로 클라이언트를 짜서 돌려보니 잘 돌아가더군요..
문제는..
클라이언트를 C언어로 짜야하고..
서버측에서는 먼져 파일명과 파일 크기를 받아야하고 그후에 데이터를 받아야할텐데..
자바에선 구조체가 없기에 C에서 바이트단위로 보내는것을 한개씩 끊어서 받아야 할것같은데요...
어떻게 받아 어떻게 처리해야 할지 모르겠습니다..
Help~~
...
일단 구조체를 그대로 보내는 게 아니라 패킷을 설계하고 그에 맞춰서 패킷을 만들고, 읽어내는 모듈을 양쪽에 작성하는 것이 좋을 듯 합니다.
ASN.1이나 XML을 쓰는 것은 너무 과하니, Json 정도로 데이터를 표현하면 좋겠네요.
댓글 달기