Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class Server implements Runnable{
- Socket connection;
- String input;
- DbHelper dbHelper = new DbHelper();
- List<Integer> list = new ArrayList<>();
- public Server(Socket socket){
- this.connection = socket;
- }
- public static void main(String[] args) throws IOException {
- System.out.println("Welcome to Server!");
- int i=1;
- ServerSocket servers = null;
- try{
- servers = new ServerSocket(4444);
- }catch(IOException e){
- System.out.println("Can't connect to port");
- System.exit(-1);
- }
- //Ждем подключения клиента, запускаем поток на каждое подключение
- while(true){
- try{
- System.out.println("Waiting for a client...");
- Socket connection = servers.accept();
- Runnable runnable = new Server(connection);
- Thread thread = new Thread(runnable);
- thread.start();
- System.out.println("Client connected");
- }catch(IOException e){
- System.out.println("");
- System.exit(-1);
- }
- }
- }
- @Override
- public void run() {
- try {
- BufferedReader in = new BufferedReader(new InputStreamReader(connection.getInputStream()));
- PrintWriter out = new PrintWriter(new OutputStreamWriter(connection.getOutputStream()), true);
- System.out.println("Waiting for messages...");
- try {
- if ((input = in.readLine()) != null) {
- System.out.println("S: " + input);
- List<AccountpayE> result = dbHelper.readAccount(Integer.parseInt(input));
- for (AccountpayE accountpayEnt : result) {
- out.println(accountpayEnt.getName());
- out.println(accountpayEnt.getMoney());
- }
- List<AccountpayE> result1 = dbHelper.payAccount(Integer.parseInt(input));
- for (AccountpayE accountpayEnt : result1) {
- out.println(accountpayEnt.getNumber());
- out.println(accountpayEnt.getMoney());
- }
- }
- for (int i = 0; i < 3; i++) {
- if ((input = in.readLine()) != null) {
- list.add(Integer.parseInt(input));
- System.out.println(list.get(i));
- }
- }
- dbHelper.incertAccount(list.get(0),list.get(1),list.get(2));
- List<AccountpayE> result2 = dbHelper.readAccount(Integer.parseInt(input));
- for (AccountpayE accountpayEnt : result2) {
- out.println(accountpayEnt.getMoney());
- System.out.println(accountpayEnt.getMoney());
- }
- } catch (Exception e) {
- out.println("Error");
- }
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
- }
- public class Client {
- public String fuser;
- public String fserver;
- PrintWriter out;
- BufferedReader in;
- BankViewAccount bankViewAccount = new BankViewAccount();
- BankView bankView = new BankView();
- List list = new ArrayList();
- private String userName;
- public void setName(String name) {
- this.userName = name;
- }
- public String getName() {
- return userName;
- }
- Client() {
- Socket fromserver = null;
- try {
- fromserver = new Socket("localhost", 4444);
- System.out.println("Welcome to Client!");
- in = new BufferedReader(new InputStreamReader(fromserver.getInputStream()));
- out = new PrintWriter(new OutputStreamWriter(fromserver.getOutputStream()), true);
- System.out.println("Set name: ");
- bankView.pack();
- bankView.setVisible(true);
- System.out.println(bankView.getNumber());
- if (bankView.getNumber() != null) {
- System.out.println("Account: " + bankView.getNumber());
- out.println(bankView.getNumber());
- }
- if ((fserver = in.readLine()) != null) {
- if (fserver.equals("Error")) {
- JOptionPane.showMessageDialog(null, "Not Acoount", "Ошибка", JOptionPane.OK_OPTION);
- new Client();
- } else {
- bankViewAccount.label.setText(bankView.getNumber());
- bankViewAccount.textField1.setText(fserver);
- }
- }
- if ((fserver = in.readLine()) != null) {
- bankViewAccount.label.setText(bankView.getNumber());
- bankViewAccount.textField2.setText(fserver);
- bankViewAccount.pack();
- bankViewAccount.setVisible(true);
- System.out.println("Transfer to account " + bankViewAccount.getNumberTo());
- out.println(bankView.getNumber());
- out.println(bankViewAccount.getNumberTo());
- out.println(bankViewAccount.getMoney());
- }
- if ((fserver = in.readLine()) != null) {
- bankViewAccount.textField2.setText(fserver);
- System.out.println(fserver);
- }
- } catch (IOException e) {
- JOptionPane.showMessageDialog(null, e.getMessage(), "Error", JOptionPane.OK_OPTION);
- } finally {
- try {
- in.close();
- out.close();
- fromserver.close();
- } catch (IOException ex) {
- JOptionPane.showMessageDialog(null, ex.getMessage(), "Error", JOptionPane.OK_OPTION);
- }
- }
- }
- }
- public class DbHelper {
- static Connection conn;
- private static DbHelper instance;
- private static String userName = "root";
- private static String password = "";
- private static String url = "jdbc:mysql://localhost/account";
- private Statement stmt = null;
- private ResultSet rs = null;
- private int sr;
- static Connection[] connections;
- public static DbHelper getInstance() {
- if (instance == null) {
- instance = new DbHelper();
- }
- return instance;
- }
- DbHelper() {
- try {
- Class.forName("com.mysql.jdbc.Driver").newInstance();
- conn = DriverManager.getConnection(url, userName, password);
- System.out.println("Database connection established");
- stmt = conn.createStatement();
- } catch (Exception e) {
- e.printStackTrace();
- System.exit(0);
- } finally {
- {
- if (conn != null) {
- try {
- conn.close();
- System.out.println("Database connection terminated");
- } catch (Exception e) {
- }
- }
- }
- }
- }
- public Connection getConn() {
- if (conn == null) {
- try {
- conn = DriverManager.getConnection(url);
- } catch (SQLException e) {
- e.printStackTrace();
- }
- }
- return conn;
- }
- public List<AccountpayE> listAccount() {
- Session session = HibernateUtil.getSessionFactory().getCurrentSession();
- session.beginTransaction();
- List<AccountpayE> result = session.createQuery("from AccountpayE").list();
- session.getTransaction().commit();
- session.close();
- return result;
- }
- public List<AccountpayE> readAccount(Integer number) {
- Session session = HibernateUtil.getSessionFactory().getCurrentSession();
- session.beginTransaction();
- List<AccountpayE> result;
- result = session.createQuery("from AccountpayE where number="+number).list();
- session.getTransaction().commit();
- session.close();
- return result;
- }
- public List<AccountpayE> payAccount(Integer number) throws Exception {
- Session session = HibernateUtil.getSessionFactory().getCurrentSession();
- session.beginTransaction();
- List<AccountpayE> result1;
- result1 = session.createQuery("select number from AccountpayE where name=(select name from AccountpayE where number="+number).list();
- session.getTransaction().commit();
- session.close();
- // HibernateUtil.shutdown();
- return result1;
- }
- public void incertAccount(Integer number1, Integer number2, Integer money) throws Exception {
- Session session = HibernateUtil.getSessionFactory().getCurrentSession();
- session.beginTransaction();
- AccountpayE op = session.get(AccountpayE.class, number1);
- op.setMoney(op.getMoney()-money);
- session.update(op);
- AccountpayE op1 = session.get(AccountpayE.class, number2);
- op1.setMoney(op1.getMoney()+money);
- session.update(op);
- session.getTransaction().commit();
- session.close();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement