From a0f053972ebae799824cb25c81f0968020302ed6 Mon Sep 17 00:00:00 2001 From: Immueggpain Date: Sun, 29 Dec 2019 10:34:26 +0800 Subject: [PATCH] 0.1.0 --- pom.xml | 2 +- .../immueggpain/simplestreaming/Launcher.java | 2 +- .../immueggpain/simplestreaming/StreamServer.java | 6 ++++-- .../github/immueggpain/simplestreaming/Util.java | 13 +++++++++++++ 4 files changed, 19 insertions(+), 4 deletions(-) diff --git a/pom.xml b/pom.xml index 053866a..20ab650 100644 --- a/pom.xml +++ b/pom.xml @@ -5,7 +5,7 @@ com.github.immueggpain simple-streaming - 0.0.9 + 0.1.0 UTF-8 diff --git a/src/main/java/com/github/immueggpain/simplestreaming/Launcher.java b/src/main/java/com/github/immueggpain/simplestreaming/Launcher.java index c2fadf0..e049569 100644 --- a/src/main/java/com/github/immueggpain/simplestreaming/Launcher.java +++ b/src/main/java/com/github/immueggpain/simplestreaming/Launcher.java @@ -11,7 +11,7 @@ subcommands = { HelpCommand.class, StreamUpload.class, StreamServer.class, Serve.class }) public class Launcher implements Callable { - public static final String VERSTR = "0.0.9"; + public static final String VERSTR = "0.1.0"; public static final int LOCAL_PORT = 2233; public static final int LOCAL_OVPN_PORT = 1194; public static final int BUFLEN = 1024 * 64; diff --git a/src/main/java/com/github/immueggpain/simplestreaming/StreamServer.java b/src/main/java/com/github/immueggpain/simplestreaming/StreamServer.java index 336a97b..05ad23f 100644 --- a/src/main/java/com/github/immueggpain/simplestreaming/StreamServer.java +++ b/src/main/java/com/github/immueggpain/simplestreaming/StreamServer.java @@ -30,6 +30,7 @@ private static class Downloader { } private HashMap activeDownloaders = new HashMap<>(); + private Socket currentSocket; @Override public Void call() throws Exception { @@ -110,8 +111,9 @@ private void upload_thread() { while (true) { Socket socket = serverSocket.accept(); System.out.println("new uploader"); - Thread uploadThread = Util.execAsync("upload_thread", () -> upload_thread(socket)); - uploadThread.join(); + Util.closeQuietly(currentSocket); + currentSocket = socket; + Util.execAsync("upload_thread", () -> upload_thread(socket)); } } catch (Exception e) { e.printStackTrace(); diff --git a/src/main/java/com/github/immueggpain/simplestreaming/Util.java b/src/main/java/com/github/immueggpain/simplestreaming/Util.java index c7922e7..2ee6a6d 100644 --- a/src/main/java/com/github/immueggpain/simplestreaming/Util.java +++ b/src/main/java/com/github/immueggpain/simplestreaming/Util.java @@ -1,5 +1,8 @@ package com.github.immueggpain.simplestreaming; +import java.io.Closeable; +import java.io.IOException; +import java.net.Socket; import java.security.GeneralSecurityException; import java.security.Key; @@ -54,4 +57,14 @@ public static byte[] decrypt(Cipher decrypter, Key secretKey, byte[] input, int return decryptedBytes; } + public static void closeQuietly(final Closeable sock) { + if (sock != null) { + try { + sock.close(); + } catch (final IOException ioe) { + // ignored + } + } + } + }