2011-06-13 6 views
2

기본 소켓 프로그래밍을 알고 있습니다. 안드로이드에서 소켓을 사용하여 문자열을 보내는 코드가 있습니다. 두 전화기 사이에 소켓을 사용하여 파일 (MP3, 이미지 등)을 보내는 방법을 배우고 싶습니다.android에서 소켓을 사용하여 파일 보내기

+0

결국 다른 레이어를 추가해야합니다. TCP 또는 UDP를 통해서만 파일을 전송하는 것은 이론적으로 가능하지만 달성하기가 매우 어렵습니다. – slhck

답변

4

이것은 파일을 보내는 몇 가지 코드입니다. Android 외부에서 기대하는 것처럼 작동해야합니다. 비교적 작은 파일을 보내고 있다는 것을 알고 있었기 때문에 버퍼를 두 번 이상 통과시키고 싶을 수도 있습니다. 필자의 예에서 파일 "f"는 MP3 또는 이미지 또는 전송하려는 내용을 포함하는 파일로 대체해야합니다.

public void sendFile() throws IOException{ 
    socket = new Socket(InetAddress.getByName(host), port); 
    outputStream = socket.getOutputStream(); 
    File f = new File(path); 
    byte [] buffer = new byte[(int)f.length()]; 
    FileInputStream fis = new FileInputStream(f); 
    BufferedInputStream bis = new BufferedInputStream(fis); 
    bis.read(buffer,0,buffer.length); 
    outputStream.write(buffer,0,buffer.length); 
    outputStream.flush(); 

} 
+0

올바르게 작동 했습니까? – Matt

+0

mms wiht 오디오/mp3를 보내는 데이 코드를 사용하는 방법. 전화 번호가 아닌 호스트 또는 포트 이름/번호 만 가지고 있습니다. – Harshid

관련 문제