package src;
//listens for incoming connections from a client, once one is received,
//pass it off to a thread
import java.io.BufferedReader;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.ServerSocket;
import java.net.Socket;
public class MobileServer extends Thread {
private int port;
ServerSocket server=null;
Socket sock=null;
byte code=0;
static MobileConnect[] tracker=new MobileConnect [9999];
//sets the port and starts the thread
public MobileServer(int port){
this.port=port;
start();
}
public void run() {
//Creates the server socket
try {
server = new ServerSocket(port);
} catch (IOException e) {
System.out.println("Could not listen on port "+port);
System.exit(-1);
}
//continusly listen
while(true){
try {
//receives a new connection
sock=server.accept();
DataInputStream in = new DataInputStream(
sock.getInputStream());
DataOutputStream out = new DataOutputStream(
sock.getOutputStream());
String usr,pword;
code=in.readByte();
if(code==01){
usr=in.readUTF();
pword=in.readUTF();
int ID=Services.authenticate(usr, pword);
if(ID==-1){
out.writeByte(250);
}
else if(ID==-2){
out.writeByte(251);
}
else{
out.writeByte(255);
tracker[ID]=new MobileConnect(ID,sock);
}
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
|