| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081 |
- 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();
- }
-
- }
- }
|