Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.io.ByteArrayInputStream;
- import java.io.ByteArrayOutputStream;
- import java.io.IOException;
- import java.io.InputStream;
- import java.io.ObjectInputStream;
- import java.io.ObjectOutputStream;
- import java.io.OutputStream;
- import java.net.DatagramPacket;
- import java.net.DatagramSocket;
- import java.net.Inet4Address;
- import java.net.InetAddress;
- import java.net.InetSocketAddress;
- import java.net.ServerSocket;
- import java.net.Socket;
- import java.net.SocketAddress;
- import java.net.SocketException;
- import java.net.UnknownHostException;
- public class Server extends Thread {
- private ServerSocket server;
- private DatabaseConnection databaseConnection;
- public Server()
- {
- try{
- int localPort=3761 ;
- Inet4Address localAddress=(Inet4Address) Inet4Address.getByName("192.168.0.198");
- System.out.println("Server started at "+localAddress.toString());
- System.out.println(localAddress.isMCGlobal());
- server = new ServerSocket ();
- server.bind (new InetSocketAddress (localAddress, localPort));
- }catch (SocketException e) {
- e.printStackTrace();
- } catch (UnknownHostException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- } catch (IOException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- databaseConnection=new DatabaseConnection();
- }
- public void run()
- {
- try {
- databaseConnection.connect();
- } catch (Exception e1) {
- // TODO Auto-generated catch block
- e1.printStackTrace();
- }
- while (true) {
- try {
- System.err.println("Astept mesaje de la clienti");
- Socket client = server.accept ();
- System.out.println("Accepted a connection from: "+client.getInetAddress());
- ObjectInputStream ois=new ObjectInputStream(client.getInputStream ());
- Message message=(Message)ois.readObject();
- if(message!=null)
- handleMessage(message,client);
- }catch (IOException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- } catch (ClassNotFoundException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- }
- }
- public void handleMessage(final Message message, final Socket client)
- {
- new Thread()
- {
- public void run()
- {
- String messageType=message.getClass().getName();
- if(messageType.equals("ConnectionMessage"))
- {
- ObjectOutputStream oos=null;
- ConnectionMessage cm=(ConnectionMessage)message;
- switch(cm.getType())
- {
- case Message.CREATE:
- System.out.print("try to create user: "+cm.getUser().getUserID()+" identified by password: ");
- System.out.print(cm.getUser().getPassword());
- System.out.println();
- ResponseMessage responseMessage=databaseConnection.create(cm.getUser());
- try {
- oos=new ObjectOutputStream(client.getOutputStream ());
- oos.flush();
- } catch (IOException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- try {
- oos.writeObject(responseMessage);
- } catch (IOException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- System.out.println("ResponseMessage sent: "+responseMessage.getValue());
- break;
- case Message.SIGNIN:
- responseMessage=null;
- System.out.print("user: "+cm.getUser().getUserID()+"tries to sign in with password ");
- System.out.print(cm.getUser().getPassword());
- System.out.println();
- responseMessage=databaseConnection.signIn(cm.getUser().getUserID(),cm.getUser().getPassword());
- oos=null;
- try {
- oos=new ObjectOutputStream(client.getOutputStream ());
- oos.flush();
- } catch (IOException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- try {
- oos.writeObject(responseMessage);
- } catch (IOException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- }
- }
- }
- }.start();
- }
- public static void main(String []args)
- {
- Server s=new Server();
- s.start();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement