안녕하세요,
제가 자바와 c++간에 tcp통신을 구현해야될 일이 생겼는데요,
문제가 발생했습니다.
서로 메세지를 주고 받아야 되는데
자바에서 c++로 문자열 넘기는 거는 성공 시켰거든요?
String.getBytes("ASCII"); 이런식으로 String형 값을
ASCII값을 갖는 byte형으로 바꿔서 보내주고 mfc프로그램에서 확인까지 했는데요,
문제는 반대로 mfc프로그램에서 자바쪽으로 메세지를 보내야되는데
계속 제대로 된 값이 안넘어 오네요.. 흑흑
검색해 보니 자바에서는 기본적으로 unicode를 사용한다고 해서
CString strSend;
BYTE* buff;
strSend = L"available";
buff = (LPBYTE)(LPCTSTR)strSend;
이런식으로 했는데.. 이런식으로 하면 Unicode로 바뀌지 않나요??
그다음 아래처럼 Send함수 써서 데이터를 쏴주고...
pSocket->Send(buff, strSend.GetLength());
자바쪽에서
while((in.read(buf)) != -1) { System.out.println(buf.toString()); }
이런식으로 해줬더니...
출력되는건 아래와 같은 의미없는 값이네요..
[B@d9f9c3
아악~~~!
도대체 왜이런거죠?
해보신 분들... mfc에서 java로 문자열 보내는 방법좀 알려주세요~~~