import java.net.Socket;
import java.io.*;
import java.awt.*;
public class ServerThread extends Thread {
private Socket mySocket;
private DataInputStream datain;
private DataOutputStream dataout;
private int myId;
user Users;
public ServerThread(Socket m,int Id,user myUsers) throws IOException {
mySocket = m;
myId = Id;
myUsers.name[myId]="New Player";
myUsers.ptn[myId]=-1;
Users=myUsers;
datain = new DataInputStream(new
BufferedInputStream(mySocket.getInputStream()));
dataout = new DataOutputStream(new
BufferedOutputStream(mySocket.getOutputStream()));
printOut("ServerThread ID "+myId+" : connection from "+mySocket.getInetAddress());
}
public void run() {
while (Users.processRequests(mySocket.getInetAddress().
toString(),datain,dataout,myId))
{
try
{
Thread.sleep(50);
}
catch (Exception e) {};// yield to other threads too!
};
CleanUp();
}
public void printOut(String str) {
System.out.println(str);
}
/** clean up when done */
void CleanUp() {
try {
datain.close();
dataout.close();
mySocket.close();
} catch (IOException io) {
printOut(" IOEXception!! ");
printOut(io.getMessage());
}
}
}