Advertisement
Guest User

ChatHandler

a guest
Apr 22nd, 2018
111
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.50 KB | None | 0 0
  1. import java.io.BufferedReader;
  2. import java.io.BufferedWriter;
  3. import java.io.IOException;
  4. import java.io.InputStreamReader;
  5. import java.io.OutputStreamWriter;
  6.  
  7. import java.net.Socket;
  8.  
  9.  
  10. import javafx.scene.control.TextArea;
  11.  
  12. public class ChatHandler implements Runnable{
  13.  
  14. private TextArea server;
  15. private Socket user;
  16. private String message = "";
  17.  
  18.  
  19. public ChatHandler(Socket user, TextArea server) {
  20. this.user = user;
  21. this.server = server;
  22.  
  23. }
  24.  
  25. @Override
  26. public void run() {
  27.  
  28. BufferedReader in;
  29. BufferedWriter out;
  30.  
  31. try {
  32. server.appendText("User has joined from: " + user.getInetAddress() + "\n");
  33.  
  34. //creates input and output stream to send and receive data from users
  35. in = new BufferedReader(new InputStreamReader(user.getInputStream()));
  36. out = new BufferedWriter(new OutputStreamWriter(user.getOutputStream()));
  37.  
  38.  
  39. //if client has sent info to be read, read then send to all clients
  40. while(true) {
  41.  
  42. if(in.ready()) {
  43. readFromClients(in);
  44. sendToClients(out);
  45. }
  46.  
  47.  
  48. }
  49.  
  50. }
  51. catch(IOException ex) {
  52. ex.printStackTrace();
  53. }
  54. }
  55.  
  56. //sends data to client in form of message such as "Bob: Hello"
  57. public void sendToClients(BufferedWriter out) throws IOException {
  58. out.write(message);
  59. out.flush();
  60. }
  61.  
  62. //receives message from client and saves it to variable to be sent to other clients
  63. public void readFromClients(BufferedReader in) throws IOException {
  64. message = in.readLine();
  65.  
  66. }
  67. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement