[ Web Proxy ]
URL:
Viewing: https://raw.githubusercontent.com/Am4nn/MultiClient-Java-Server/master/src/Client/Client.java [Back]  [Original]

package Client;

import CLI.CLI;
import GUI.GUI;

import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import java.net.Socket;
import java.util.logging.Level;
import java.util.logging.Logger;

public class Client {

    public static Socket socket = null;
    String ipAddress;
    String portNumber;
    public static DataInputStream inputStream;
    public static DataOutputStream outputStream;
    public static GUI ui;
    public static String name;

    public Client () {
        ui = new GUI("Client");
        this.init();
        this.startCommunication();
    }

    private void init() {
        ipAddress = ui.read("Input IP Address of Server", "localhost");
        portNumber = ui.read("Input Port Number of Server", "3000");
        name = ui.read("Enter your name :");

        try {
            socket = new Socket(ipAddress, Integer.parseInt(portNumber));
            inputStream = new DataInputStream(socket.getInputStream());
            outputStream = new DataOutputStream(socket.getOutputStream());

            // send client name and some other imp details if required
            outputStream.writeUTF(name);

            ui.write("Client Connected with Server on "+ipAddress+":"+portNumber);

        } catch (IOException e) {
            Logger.getLogger(Client.class.getName()).log(Level.SEVERE, null, e);
            ui.write(e.getMessage());
        }
    }

    private void startCommunication() {
        Thread readFromServer = new Thread(new ReadFromServer());
        Thread writeToServer = new Thread(new WriteToServer());

        readFromServer.start();
        writeToServer.start();

        try {
            // wait for threads to die
            readFromServer.join();
            writeToServer.join();
        } catch (InterruptedException e) {
            Logger.getLogger(Client.class.getName()).log(Level.SEVERE, null, e);
        }

        // after all threads dies - cleanup
        try {
            outputStream.close();
            inputStream.close();
            socket.close();
        } catch (IOException e) {
            Logger.getLogger(Client.class.getName()).log(Level.SEVERE, null, e);
        }
    }
}

Web Proxy Viewer  |  New URL  |  Original Page