1.修改bug
This commit is contained in:
parent
34699ff89d
commit
9567c1defe
|
@ -10,6 +10,8 @@ public class FilePacket extends Packet {
|
||||||
|
|
||||||
File file;
|
File file;
|
||||||
|
|
||||||
|
long fileLength;
|
||||||
|
|
||||||
int ACK;
|
int ACK;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -22,10 +24,12 @@ public class FilePacket extends Packet {
|
||||||
|
|
||||||
public FilePacket(File file) {
|
public FilePacket(File file) {
|
||||||
this.file = file;
|
this.file = file;
|
||||||
|
this.fileLength = file.length();
|
||||||
}
|
}
|
||||||
|
|
||||||
public FilePacket(File file, int ACK) {
|
public FilePacket(File file, int ACK) {
|
||||||
this.file = file;
|
this.file = file;
|
||||||
|
this.fileLength = file.length();
|
||||||
this.ACK = ACK;
|
this.ACK = ACK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -44,4 +48,12 @@ public class FilePacket extends Packet {
|
||||||
public void setACK(int ACK) {
|
public void setACK(int ACK) {
|
||||||
this.ACK = ACK;
|
this.ACK = ACK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public long getFileLength() {
|
||||||
|
return fileLength;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setFileLength(long fileLength) {
|
||||||
|
this.fileLength = fileLength;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -27,6 +27,14 @@ public class LoginPacket extends Packet {
|
||||||
|
|
||||||
boolean exec = false;
|
boolean exec = false;
|
||||||
|
|
||||||
|
public void flush() {
|
||||||
|
this.exec = false;
|
||||||
|
this.fileName = null;
|
||||||
|
this.fileLength = 0;
|
||||||
|
this.readLength = 0;
|
||||||
|
this.fileOutputStream = null;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Byte getCommand() {
|
public Byte getCommand() {
|
||||||
return LOGIN_PACKET_REQUEST;
|
return LOGIN_PACKET_REQUEST;
|
||||||
|
|
|
@ -25,8 +25,8 @@ public class FilePacketServerHandler extends SimpleChannelInboundHandler<FilePac
|
||||||
}
|
}
|
||||||
loginPacket.setExec(true);
|
loginPacket.setExec(true);
|
||||||
loginPacket.setFileName(file.getName());
|
loginPacket.setFileName(file.getName());
|
||||||
loginPacket.setFileLength(file.length());
|
loginPacket.setFileLength(packet.getFileLength());
|
||||||
loginPacket.setFileOutputStream(new FileOutputStream(new File("./server-receive-" + file.getName())));
|
loginPacket.setFileOutputStream(new FileOutputStream(new File("c:/temp/server-receive-" + file.getName())));
|
||||||
// FileReceiveServerHandler.fileLength = file.length();
|
// FileReceiveServerHandler.fileLength = file.length();
|
||||||
// FileReceiveServerHandler.outputStream = new FileOutputStream(
|
// FileReceiveServerHandler.outputStream = new FileOutputStream(
|
||||||
// new File("./server-receive-" + file.getName())
|
// new File("./server-receive-" + file.getName())
|
||||||
|
|
|
@ -53,9 +53,10 @@ public class FileReceiveServerHandler extends ChannelInboundHandlerAdapter {
|
||||||
private void sendComplete(LoginPacket loginPacket) throws IOException {
|
private void sendComplete(LoginPacket loginPacket) throws IOException {
|
||||||
if (loginPacket.getReadLength() >= loginPacket.getFileLength()) {
|
if (loginPacket.getReadLength() >= loginPacket.getFileLength()) {
|
||||||
log.info("文件接收完成...");
|
log.info("文件接收完成...");
|
||||||
loginPacket.setExec(false);
|
if(loginPacket.getFileOutputStream() != null){
|
||||||
loginPacket.setReadLength(0);
|
loginPacket.getFileOutputStream().close();
|
||||||
loginPacket.getFileOutputStream().close();
|
}
|
||||||
|
loginPacket.flush();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue