자바와 c간의 통신에 대해 질문 드립니다!~ (소스 모두 첨부)
뿡뿡몬
다음 통신 프로그램을 이용해서 자바와 C간에 채팅도 원할히 이루어지고(약간 불안전한 면은 있지만...) 이제 자바와 C간에 파일을 전송해야 하는데... 통신분석기나 C파일을 통해서 보니까 요놈이 파일인지 메세지인지를 구분 못해서 그냥 파일 이름명이랑 그 뒤로 파일안에 내용들을 채팅창으로 출력이 쫘악 되버리더군요...
이 문제를 해결하기 위해서 채팅포트를 7777, 파일전송은 포트를 7778번으로 각각 설정해서 따로따로 붙게끔 설정하니까 자바와 C끼리도 통신할때 파일전송을 누르면 소켓에 붙는데까지는 성공했지만 파일이름을 찾을수 없다는 에러가 뜨거나 그냥 프로그램이 꺼져버립니다....
참고로 자바에서 C로 파일을 보내는 부분에 대한 소스만 추려서 쓴다면
try{
/* 소켓으로부터 OutputStream 얻어서 파일명을 먼저 보냄 */
/* 서버측에서 파일 객체 생성시 이용할 것임 */
// Socket s=new Socket(ip, portn+1);
ip=iptext.getText();
Socket s=new Socket(ip, portn+1);
System.out.println(ip값은 + ip +port값은+(portn+1));
BufferedWriter bw=new BufferedWriter(new OutputStreamWriter(s.getOutputStream()));
System.out.println(파일명 : +file);
bw.write(file+\n);
bw.flush();
System.out.println(파일이름 전송);
/* 선택한 파일로 부터 스트림을 읽어들여서 얻어놓은 OutputStream에 연결 */
DataInputStream dis=new DataInputStream(new FileInputStream(new File(jlb.getText())));
DataOutputStream dos=new DataOutputStream(s.getOutputStream());
System.out.println(파일 내용 전송위한 빨대);
/* 바이트단위로 읽어서 스트림으로 쓰기 */
int b=0;
System.out.println(파일 전송 직전);
System.out.println(dis.read());
while( (b=dis.read()) != -1 ){
dos.write(b);
dos.flush();
}
System.out.println(다 보냈음);
/* 자원정리 */
dis.close(); dos.close(); s.close();
dis=null; dos=null; s=null;
// System.exit(1);
}
catch(Exception e){
System.out.println(e);
}
}
요렇게 했습니다. 이걸 일단 버퍼로 해서 파일 전송 속도를 좀 높이고 싶은데 어떤식으로 해야할까요? 참고로 인터넷에 찾아보니까 write대신에 writeByte로 하면 자바와 C간에 통신을 할수 없다고 해서 write로 바꾼거거든요. 좀더 조언해주셨으면 감사하겠습니다. 그리고 파일명과 파일을 자바와 C간에 통신할때 구분짓는 방법도 없을련지...
번호 | 제 목 | 글쓴이 | 날짜 |
---|---|---|---|
2691355 | 파폭 렌더링 이슈.. (1) | 곰돌곰돌 | 2025-04-13 |
2691326 | 자바와 c간의 통신에 대해 질문 드립니다!~ (소스 모두 첨부) | 뿡뿡몬 | 2025-04-12 |
2691297 | [질문]특정 값들로 배열만들기 질문드립니다... (2) | 도란도란 | 2025-04-12 |
2691272 | 모바일 연동안되는 테마를 반응형으로 만드는 방법을 알고싶습니다~ | 다빈 | 2025-04-12 |
2691217 | 폴더경로를 지정해줘야하는데 (1) | 키클 | 2025-04-11 |
2691160 | 이런소스좀올려주시면감사하겠습니다. (1) | 슬아 | 2025-04-11 |
2691106 | Air2.5 CS5 익스텐션 파일 있으신분? | BabySue | 2025-04-10 |
2691075 | 정적인 페이지 커스텀 수정 방법좀 알려주세요 | 전갈자리 | 2025-04-10 |
2691051 | div 박스를 따라서 text가 흐르게 하는것 가능한가요??? (3) | 물티슈 | 2025-04-10 |
2690994 | 새창 링크클릭시 밑에있는 윈도우 이동 문의 드립니다. | agine | 2025-04-09 |
2690914 | 체크박스와 텍스트 정렬 문제 | 이슬비 | 2025-04-09 |
2690884 | 혹시 iReport 써보신분잇으세요?? | 계획자 | 2025-04-08 |
2690853 | struct stat 구조체의 역할. (8) | 재넘이 | 2025-04-08 |
2690828 | java ee 신입으로 취직하려면 어떻게해야하나요? (2) | 봄여울 | 2025-04-08 |
2690801 | 파이어폭스에서(질문입니다.) (2) | 맨마루 | 2025-04-08 |
2690770 | 소스중 이상한점이 있나 봐주세요.. | 예님 | 2025-04-07 |
2690742 | 음반쇼핑몰에 mp3 다운로드 컨텐츠를 접목하려는데... | 샤인 | 2025-04-07 |
2690710 | 초보 자바 실행 질문드립니다. (2) | 별햇님 | 2025-04-07 |
2690677 | 인라인 요소가.. (4) | 얼 | 2025-04-07 |
2690647 | 플래시 오른쪽 마우스 클릭을 못하게 할 수 없나요? (4) | 던컨 | 2025-04-06 |