/
comavp
/
client-server-information-system
Обзор
Документация
Войти
/
comavp
/
client-server-information-system
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
Server/src/connection/Connection.java
55 строк
2 KB
Anton
first commit
31 янв 2019, 18:02
31 янв 2019, 18:02
67619a3
Код
Авторство
О чём код?
package connection; import controller.Controller; import java.io.IOException; import java.io.ObjectInputStream; import java.io.ObjectOutputStream; import java.net.Socket; public class Connection { private Socket socket; private Controller parentController; private ObjectOutputStream output; private ObjectInputStream input; private Thread connectionThread; public Connection(Controller controller, Socket socket) throws IOException{ this.socket = socket; this.parentController = controller; output = new ObjectOutputStream(socket.getOutputStream()); input = new ObjectInputStream(socket.getInputStream()); connectionThread = new Thread(new Runnable() { @Override public void run() { while (!connectionThread.isInterrupted()) { try { String request = (String) input.readObject(); System.out.println("Got request: " + request); parentController.processRequest(Connection.this, request); } catch (Exception e) { disconnect(); parentController.deleteConnection(Connection.this); } } } }); connectionThread.start(); } public synchronized void sendResponse(String response) { try { output.writeObject(response); output.flush(); } catch (IOException e) { disconnect(); parentController.deleteConnection(this); } } public synchronized void disconnect() { connectionThread.interrupt(); } }