Skip to content

Commit 820ac9c

Browse files
mint-runsmint-runs
authored andcommitted
update OutputStreamThread.java
1 parent c990f22 commit 820ac9c

File tree

1 file changed

+11
-4
lines changed

1 file changed

+11
-4
lines changed

src/main/java/de/javasocketapi/core/OutputStreamThread.java

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,16 +4,18 @@
44
import java.io.OutputStream;
55
import java.net.Socket;
66
import java.net.SocketException;
7-
import java.util.LinkedList;
7+
import java.util.ArrayList;
8+
import java.util.List;
89
import java.util.Timer;
910
import java.util.TimerTask;
1011

1112
class OutputStreamThread {
1213

1314
private final Client client;
1415
private final Socket socket;
15-
private final LinkedList<Packet> packets = new LinkedList<>();
16+
private final List<Packet> packets = new ArrayList<>();
1617
private final Timer timer = new Timer();
18+
private OutputStream finalOutputStream;
1719

1820
public OutputStreamThread(final Client client) {
1921
this.client = client;
@@ -22,7 +24,7 @@ public OutputStreamThread(final Client client) {
2224

2325
public void run() throws IOException {
2426
//initialise outputStream
25-
final OutputStream finalOutputStream = this.socket.getOutputStream();
27+
finalOutputStream = this.socket.getOutputStream();
2628
//start sending send byte arrays
2729
this.timer.scheduleAtFixedRate(new TimerTask() {
2830
@Override
@@ -80,7 +82,12 @@ public void run() {
8082
}
8183

8284
public void interrupt() {
83-
this.timer.cancel();
85+
try {
86+
this.finalOutputStream.close();
87+
this.timer.cancel();
88+
} catch (IOException exception) {
89+
exception.printStackTrace();
90+
}
8491
}
8592

8693
public void send(final Packet packet) {

0 commit comments

Comments
 (0)