Skip to content
Snippets Groups Projects
Commit 958283aa authored by KGreg's avatar KGreg
Browse files

Server crash fix

parent 38660cc3
No related branches found
No related tags found
No related merge requests found
...@@ -156,6 +156,16 @@ public class LobbyActivity extends AppCompatActivity implements ServerConnection ...@@ -156,6 +156,16 @@ public class LobbyActivity extends AppCompatActivity implements ServerConnection
// When the network service is no longer available. // When the network service is no longer available.
// Internal bookkeeping code goes here. // Internal bookkeeping code goes here.
Log.e(TAG, "service lost" + service); Log.e(TAG, "service lost" + service);
//
for (ServerModel server: servers) {
if(server.getSocket().getInetAddress() == service.getHost())
{
servers.remove(server);
// TODO: 2018. 03. 16. //refresh list
}
}
} }
@Override @Override
...@@ -207,8 +217,6 @@ public class LobbyActivity extends AppCompatActivity implements ServerConnection ...@@ -207,8 +217,6 @@ public class LobbyActivity extends AppCompatActivity implements ServerConnection
hostAddress = serviceInfo.getHost(); hostAddress = serviceInfo.getHost();
runOnUiThread(new Runnable() { runOnUiThread(new Runnable() {
public void run() { public void run() {
//txtip.setText(hostAddress.getHostAddress()); //txtip.setText(hostAddress.getHostAddress());
......
...@@ -149,11 +149,12 @@ public class LobbyActivity extends AppCompatActivity { ...@@ -149,11 +149,12 @@ public class LobbyActivity extends AppCompatActivity {
@Override @Override
public void onServiceUnregistered(NsdServiceInfo serviceInfo) { public void onServiceUnregistered(NsdServiceInfo serviceInfo) {
// Service has been unregistered. This only happens when you
// call
// NsdManager.unregisterService() and pass in this listener.
Log.d("TAG", Log.d("TAG",
"Service Unregistered : " + serviceInfo.getServiceName()); "Service Unregistered : " + serviceInfo.getServiceName());
} }
@Override @Override
...@@ -212,13 +213,22 @@ public class LobbyActivity extends AppCompatActivity { ...@@ -212,13 +213,22 @@ public class LobbyActivity extends AppCompatActivity {
public void run() { public void run() {
while (!Thread.currentThread().isInterrupted()) { while (!Thread.currentThread().isInterrupted()) {
try { try {
if(clientSocket.isConnected()) {
String read = input.readLine(); String read = input.readLine();
PrintWriter out = new PrintWriter(new BufferedWriter( PrintWriter out = new PrintWriter(new BufferedWriter(
new OutputStreamWriter(clientSocket.getOutputStream())), true); new OutputStreamWriter(clientSocket.getOutputStream())), true);
String params[] = read.split("##");
switch (params[0]) String params[] = {"Unknown"};
if (read != null) {
params = read.split("##");
}
else
{ {
params[0] = "Disconnect";
}
switch (params[0]) {
case "Hostname": case "Hostname":
out.println("Hostname##" + HOSTNAME); out.println("Hostname##" + HOSTNAME);
break; break;
...@@ -254,6 +264,7 @@ public class LobbyActivity extends AppCompatActivity { ...@@ -254,6 +264,7 @@ public class LobbyActivity extends AppCompatActivity {
} }
out.println("Disconnect##Ok!"); out.println("Disconnect##Ok!");
// TODO: 2018. 03. 11. refresh lobby // TODO: 2018. 03. 11. refresh lobby
break; break;
default: default:
...@@ -261,6 +272,16 @@ public class LobbyActivity extends AppCompatActivity { ...@@ -261,6 +272,16 @@ public class LobbyActivity extends AppCompatActivity {
break; break;
} }
}
else
{
for (ClientModel client : clients) {
if (client.getClientsocket() == clientSocket) {
clients.remove(client);
break;
}
}
}
} catch (IOException e) { } catch (IOException e) {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment