package client.view; import java.awt.Color; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.io.IOException; import java.io.ObjectInputStream; import java.io.ObjectOutputStream; import java.net.Socket; import server.network.NetworkMessage; public class NetworkConnection { private ChatPanel chatpanel; private Socket serversocket; private Thread runningthread; ObjectOutputStream output; public NetworkConnection(ChatPanel chatpanel){ this.chatpanel = chatpanel; connect(); } public void connect(){ try { serversocket = new Socket("jancokock.me", 5499); output = new ObjectOutputStream(serversocket.getOutputStream()); runningthread = new Thread(new Runnable() { @Override public void run() { ObjectInputStream input; try { input = new ObjectInputStream(serversocket.getInputStream()); while(true){ try { NetworkMessage m = (NetworkMessage)input.readObject(); chatpanel.addMessage(m); } catch (ClassNotFoundException e) { e.printStackTrace(); } } } catch (IOException e) { e.printStackTrace(); } } }); chatpanel.getSendButton().addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { sendMessage(chatpanel.getInputField().getText()); chatpanel.getInputField().setText(""); } }); runningthread.start(); } catch (IOException e1) { System.out.println("Er kon geen connectie naar de server gemaakt worden."); e1.printStackTrace(); } } public void disconnect(){ if(serversocket.isConnected()){ try { serversocket.close(); } catch (IOException e) { e.printStackTrace(); } } runningthread.stop(); } public void sendMessage(String message){ try { NetworkMessage nwmessage = new NetworkMessage(message, Color.red, "Janco" ); chatpanel.addMessage(nwmessage); output.writeObject(nwmessage); } catch (IOException e) { e.printStackTrace(); } } }