java server 에서 local에 있는 file을 byteArray 로 받아서 c++ client 로 socket 통신을 활용해 보내고 싶은데, 쉽게 되지가 않는다. java server client간 socket 통신은 쉽게 되던데 c++ client 로 보내는건 어느 부분에서 문제가 생긴건지 조차 쉽게 발견되지 않는다. 현재 문제의 원인이라고 생각되는 부분은 다음과 같다.
1. java server 에서는 UTF-8이나 유니코드를 사용하는데, 받는 C++ client 에서는 ASCII 코드를 사용해서 넘겨주는 과정에서 쓰레기 값이 되서 넘어오는경우. 이 경우의 경우 java 쪽에서 형태를 변환해 줘야 할텐데, 시도해 봐야겠다.
2. java server 에서 파일을 File file= new File(경로) 로 불러와서 byte[] byteArr = new byte[(int)file.length] 형태로 받아서 bufferedout.write 와 bufferedin.read 를 통해 넘겨주는데, c++ client에서는 이를 받을 수 있는 형태가 없는 경우. 이 경우는 어떻게 해결해야 될지 모르겠다.
위에서 java server라고 썼지만, 실제로는 android를 server로 하고있다.
현재 하고자 하는 일은 android phone에서 찍은 사진을 c++과 socket을 통해 pc로 떨구고자 하는 일이다. 엄청 쉽다고 생각했는데, 생각보다 쉽게 풀리지 않는다.
p.s. 혹시 관련 예제나 힌트를 주실 수 있는 분이 있다면 정중하게 댓글을 부탁합니다.
'c++' 카테고리의 다른 글
[openCV] image resize (0) | 2016.01.13 |
---|---|
android c++ socket file transfer (0) | 2016.01.08 |