/** Method declaration */
  public void run() {

    Channel c = init();

    if (c != null) {
      try {
        while (true) {
          String sql = mInput.readUTF();

          mServer.trace(mThread + ":" + sql);

          if (sql == null) {
            break;
          }

          write(mDatabase.execute(sql, c).getBytes());
        }
      } catch (Exception e) {
      }
    }

    try {
      mSocket.close();
    } catch (IOException e) {
    }

    if (mDatabase.isShutdown()) {
      System.out.println("The database is shutdown");
      System.exit(0);
    }
  }
Example #2
0
  public static void main(String[] ar) {

    int port = 6000;
    Date sysDate = new Date();
    String sysDateStr2;
    sysDateStr2 = new SimpleDateFormat("yyyy-MM-dd").format(sysDate).toString();
    try {
      ServerSocket ss = new ServerSocket(port);
      System.out.println("Waiting for a client to connect...");
      System.out.println("client connected");
      System.out.println();

      String msg = null;
      String IP, Date;
      float upload, download;
      Socket socket = ss.accept();
      InputStream sin = socket.getInputStream();
      OutputStream sout = socket.getOutputStream();
      DataInputStream in = new DataInputStream(sin);
      DataOutputStream out = new DataOutputStream(sout);
      while (true) {

        msg = in.readUTF(); // wait for the client to send a line of text.
        System.out.println("IP address:" + msg);
        IP = msg;
        msg = in.readUTF();
        System.out.println("Upload:" + msg);

        upload = Float.parseFloat(msg);
        msg = in.readUTF();
        System.out.println("Download:" + msg);
        download = Float.parseFloat(msg);
        System.out.println("Date:" + sysDateStr2);
        Date = sysDateStr2;
        recieveTrafficRates(IP, upload, download);
        out.writeUTF(msg);
        // in.read(b);
        out.flush();
        System.out.println("Waiting for the next line...");
        System.out.println();
      }

    } catch (Exception x) {

      x.printStackTrace();
    }
  }
  /**
   * Method declaration
   *
   * @return
   */
  private Channel init() {

    try {
      mSocket.setTcpNoDelay(true);

      mInput = new DataInputStream(new BufferedInputStream(mSocket.getInputStream()));
      mOutput = new DataOutputStream(new BufferedOutputStream(mSocket.getOutputStream()));

      String user = mInput.readUTF();
      String password = mInput.readUTF();
      Channel c;

      try {
        mServer.trace(mThread + ":trying to connect user " + user);

        return mDatabase.connect(user, password);
      } catch (SQLException e) {
        write(new Result(e.getMessage()).getBytes());
      }
    } catch (Exception e) {
    }

    return null;
  }