【发布时间】:2011-09-13 23:51:13
【问题描述】:
我知道基本的套接字编程。 我有一个使用 android 中的套接字发送字符串的代码。 我想学习如何在两部手机之间使用套接字发送文件(MP3、图像等)。
【问题讨论】:
-
您最终将不得不在其上添加另一层。理论上只通过 TCP 或 UDP 发送文件是可行的,但很难实现。
我知道基本的套接字编程。 我有一个使用 android 中的套接字发送字符串的代码。 我想学习如何在两部手机之间使用套接字发送文件(MP3、图像等)。
【问题讨论】:
这是一些发送文件的代码。它应该像您在 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();
}
【讨论】: