Fix bug where transfer continues when stopped from new device.
This commit is contained in:
parent
45178b3eb3
commit
cb6e3ade15
1 changed files with 10 additions and 1 deletions
|
@ -32,6 +32,7 @@ final class NetworkServerThread extends Thread {
|
||||||
public static final int NETWORK_CLIENT_SSL_ESTABLISHED = 1005;
|
public static final int NETWORK_CLIENT_SSL_ESTABLISHED = 1005;
|
||||||
|
|
||||||
private volatile ServerSocket serverSocket;
|
private volatile ServerSocket serverSocket;
|
||||||
|
private volatile Socket clientSocket;
|
||||||
private volatile boolean isRunning;
|
private volatile boolean isRunning;
|
||||||
private volatile Boolean isVerified;
|
private volatile Boolean isVerified;
|
||||||
|
|
||||||
|
@ -64,7 +65,13 @@ final class NetworkServerThread extends Thread {
|
||||||
handler.sendMessage(handler.obtainMessage(NETWORK_SERVER_STARTED, serverSocket.getLocalPort(), 0));
|
handler.sendMessage(handler.obtainMessage(NETWORK_SERVER_STARTED, serverSocket.getLocalPort(), 0));
|
||||||
while (shouldKeepRunning() && !serverSocket.isClosed()) {
|
while (shouldKeepRunning() && !serverSocket.isClosed()) {
|
||||||
Log.i(TAG, "Waiting for client socket accept...");
|
Log.i(TAG, "Waiting for client socket accept...");
|
||||||
try (Socket clientSocket = serverSocket.accept()) {
|
try {
|
||||||
|
clientSocket = serverSocket.accept();
|
||||||
|
|
||||||
|
if (!isRunning) {
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
InputStream inputStream = clientSocket.getInputStream();
|
InputStream inputStream = clientSocket.getInputStream();
|
||||||
OutputStream outputStream = clientSocket.getOutputStream();
|
OutputStream outputStream = clientSocket.getOutputStream();
|
||||||
int authenticationCode = DeviceTransferAuthentication.generateServerAuthenticationCode(keys.getX509Encoded(), inputStream, outputStream);
|
int authenticationCode = DeviceTransferAuthentication.generateServerAuthenticationCode(keys.getX509Encoded(), inputStream, outputStream);
|
||||||
|
@ -99,6 +106,7 @@ final class NetworkServerThread extends Thread {
|
||||||
Log.i(TAG, "Server shutting down...");
|
Log.i(TAG, "Server shutting down...");
|
||||||
}
|
}
|
||||||
} finally {
|
} finally {
|
||||||
|
StreamUtil.close(clientSocket);
|
||||||
handler.sendEmptyMessage(NETWORK_CLIENT_DISCONNECTED);
|
handler.sendEmptyMessage(NETWORK_CLIENT_DISCONNECTED);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -152,6 +160,7 @@ final class NetworkServerThread extends Thread {
|
||||||
@AnyThread
|
@AnyThread
|
||||||
public void shutdown() {
|
public void shutdown() {
|
||||||
isRunning = false;
|
isRunning = false;
|
||||||
|
StreamUtil.close(clientSocket);
|
||||||
StreamUtil.close(serverSocket);
|
StreamUtil.close(serverSocket);
|
||||||
interrupt();
|
interrupt();
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue