pokemon-battle-server/tmp/PKServer.pde

125 lines
3.1 KiB
Plaintext

// Generated by EclipseP5Exporter: Sun Aug 21 18:50:12 EDT 2016
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.net.ServerSocket;
import java.net.Socket;
import java.util.ArrayList;
private static int ip = 4563;
static ArrayList<ClientServiceThread> map = new ArrayList<ClientServiceThread>(2);
static String Data0 = "";
static String Data1 = "";
static boolean both = false;
static boolean S0 = false;
static boolean S1 = false;
@SuppressWarnings("resource")
static void main(String[] args) throws Exception {
ServerSocket m_ServerSocket = new ServerSocket(ip);
int id = 0;
while (true) {
System.out.println("Waiting for connections on port " + ip);
Socket clientSocket = m_ServerSocket.accept();
ClientServiceThread cliThread = new ClientServiceThread(clientSocket, id);
cliThread.start();
map.add(id, cliThread);
id++;
}
}
}
class ClientServiceThread extends Thread {
Socket clientSocket;
BufferedReader in;
PrintWriter out;
int clientID = 0;
boolean running = true;
ClientServiceThread(Socket s, int i) {
clientSocket = s;
clientID = i;
}
void run() {
System.out.println(
"Accepted Client : ID - " + clientID + " : Address - " + clientSocket.getInetAddress().getHostName());
try {
in = new BufferedReader(new InputStreamReader(clientSocket.getInputStream()));
out = new PrintWriter(new OutputStreamWriter(clientSocket.getOutputStream()));
while (running == true) {
if (in.ready()) {
String clientCommand = in.readLine();
System.out.println("Client Says :" + clientCommand);
if (clientID == 0) {
if (clientCommand != "") {
PKServer.Data0 = clientCommand;
System.out.println("Data 0 " + PKServer.Data0);
PKServer.S0 = false;
}
if (PKServer.Data0 != "" && PKServer.Data1 != "") {
PKServer.both = true;
}
} else if (clientID == 1) {
if (clientCommand != "") {
PKServer.Data1 = clientCommand;
System.out.println("Data 1 " + PKServer.Data1);
PKServer.S1 = false;
}
if (PKServer.Data0 != "" && PKServer.Data1 != "") {
PKServer.both = true;
}
}
System.out.println(PKServer.both + " 0 = " + PKServer.Data0 + " 1 = " + PKServer.Data1);
}
// check for false both
if (PKServer.S0 && PKServer.S1) {
PKServer.both = false;
}
if (PKServer.both) {
switch (clientID) {
case 0:
if (!PKServer.S0) {
out.println(PKServer.Data1);
out.flush();
System.out.println("Sent " + PKServer.Data1 + " to 0");
PKServer.Data1 = "";
PKServer.S0 = true;
}
break;
case 1:
if (!PKServer.S1) {
out.println(PKServer.Data0);
out.flush();
System.out.println("Sent " + PKServer.Data1 + " to 1");
PKServer.Data0 = "";
PKServer.S1 = true;
}
break;
}
}
}
} catch (Exception e) {
e.printStackTrace();
}
}