package thread;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import java.net.Socket;
import util.Constant;
import util.FileUtil;
/**
* 查询线程
*
* @author 赵庆洋
*
*/
public class ServerThread implements Runnable {
private Socket socket;
public ServerThread(Socket socket) {
this.socket = socket;
}
@Override
public void run() {
try {
// 读取客户端传过来信息的dataInputStream
DataInputStream in = new DataInputStream(socket.getInputStream());
// 向客户端发送信息的dataOutputStream
DataOutputStream out = new DataOutputStream(
socket.getOutputStream());
// 读取来自客户端的信息
String accept = in.readUTF();
System.out.println(accept);
// 如果发来的消息是获取盘符
if (accept.equals(Constant.GET_DISK)) {
// 向客户端发送信息
out.writeUTF(FileUtil.getDriver());
System.out.println(FileUtil.getDriver());
}
// 如果发来的消息是关闭计算机
if (accept.equals(Constant.POWER_PC)) {
// 一秒后关闭计算机
Runtime.getRuntime().exec("shutdown -s -t 1");
out.writeUTF("true");
}
// 获取文件夹下的文件信息
else {
out.writeUTF(FileUtil.getDirInTray(accept));
System.out.println(FileUtil.getDirInTray(accept));
}
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
socket.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}