Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.io.BufferedReader;
- import java.io.BufferedWriter;
- import java.io.IOException;
- import java.io.InputStreamReader;
- import java.io.OutputStreamWriter;
- import java.net.Socket;
- import javafx.scene.control.TextArea;
- public class ChatHandler implements Runnable{
- private TextArea server;
- private Socket user;
- private String message = "";
- public ChatHandler(Socket user, TextArea server) {
- this.user = user;
- this.server = server;
- }
- @Override
- public void run() {
- BufferedReader in;
- BufferedWriter out;
- try {
- server.appendText("User has joined from: " + user.getInetAddress() + "\n");
- //creates input and output stream to send and receive data from users
- in = new BufferedReader(new InputStreamReader(user.getInputStream()));
- out = new BufferedWriter(new OutputStreamWriter(user.getOutputStream()));
- //if client has sent info to be read, read then send to all clients
- while(true) {
- if(in.ready()) {
- readFromClients(in);
- sendToClients(out);
- }
- }
- }
- catch(IOException ex) {
- ex.printStackTrace();
- }
- }
- //sends data to client in form of message such as "Bob: Hello"
- public void sendToClients(BufferedWriter out) throws IOException {
- out.write(message);
- out.flush();
- }
- //receives message from client and saves it to variable to be sent to other clients
- public void readFromClients(BufferedReader in) throws IOException {
- message = in.readLine();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement