Android 实现一个socket传输多个文件
在网上看到好多关于socket的文章都是创建一次socket只传输一个文件,这种方式如果在需要一次传多文件的情况下,要创建很多个socket,显然这样的效率是不好的,所以我写了一个socket一次传多个文件的demo,没code说个屌,代码如下:
1.server socket
public class RespMultiFileListThread extends Thread {
private static final String TAG = "RespMultiFileListThread";
public boolean mIsRunThread = true;
private DataInputStream in;
private DataOutputStream out;
Socket client;
private Intent mIntent;
private Context mContext;
private DeviceBean mDeviceBean;
public RespMultiFileListThread(Context context, Socket client) {
this.mContext = context;
this.client=client;
this.start();
initDeviceData();
}
public void run() {
File file ;
byte[] fileTempBytes = new byte[1024];
int len = -2;
FileInputStream fis;
String rawCmd = "";
try {
in = new DataInputStream(client.getInputStream());
out = new DataOutputStream(client.getOutputStream());
rawCmd = in.readUTF();
} catch (IOException e1) {
e1.printStackTrace();
}
//获取请求命令
if(! rawCmd.equals("req_thumb_list")){
try {
in.close();
out.close();
client.close();
} catch (IOException e) {
}
return;
}
//返回设备文件信息
try {
out.writeUTF(new Gson().toJson(mDeviceBean));
} catch