Beispiel #1
0
 private void read(Object object) {
   if (object.getClass().equals(ChatElements.class)) {
     ChatElements chatElements = (ChatElements) object;
     connectionDirector.incomingChatElements(chatElements);
   } else if (object.getClass().equals(String.class)) {
     String message = (String) object;
     connectionDirector.incomingMessage(message);
   }
   // se ci sono altri oggetti fai altro
 }
Beispiel #2
0
 private void sendChatElements() {
   ChatElements chatElements = new ChatElements();
   chatElements.setNickname(Settings.getNickname());
   try {
     ObjectOutputStream objectOutput = new ObjectOutputStream(output);
     objectOutput.writeObject(chatElements);
   } catch (IOException e) {
     connectionDirector.connectionBroken();
     close();
     e.printStackTrace();
   }
 }
Beispiel #3
0
  @Override
  public void run() {

    sendChatElements();
    while (!socket.isClosed()) {
      try {
        ObjectInputStream objectInput = new ObjectInputStream(input);
        read(objectInput.readObject());
      } catch (IOException e) {
        // il close e' stato chiamato mentre era nel ciclo;
        if (!socket.isClosed()) connectionDirector.connectionBroken();
        close();
        e.printStackTrace();
      } catch (ClassNotFoundException e) {
        e.printStackTrace();
      }
    }
  }