craftim_74

ClientSide.java

Oct 30th, 2016
53
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.60 KB | None | 0 0
  1. package fr.crafttim.chat.client.network;
  2.  
  3. import java.io.BufferedReader;
  4. import java.io.IOException;
  5. import java.io.InputStreamReader;
  6. import java.io.PrintStream;
  7. import java.net.InetSocketAddress;
  8. import java.net.Socket;
  9.  
  10. import fr.crafttim.chat.client.ChatClient;
  11.  
  12. public class ClientSide implements Runnable{
  13.  
  14.     private ChatClient chatClient;
  15.     private Socket socket;
  16.     private PrintStream ps;
  17.     private BufferedReader br;
  18.    
  19.     private boolean running = false;
  20.    
  21.     public ClientSide(ChatClient chatClient){
  22.         this.chatClient = chatClient;
  23.     }
  24.    
  25.     public boolean connect(String ip, int port, String name){
  26.         try {
  27.             socket = new Socket();
  28.             InetSocketAddress adress = new InetSocketAddress(ip, port);
  29.             socket.connect(adress);
  30.             if(socket.isConnected()){
  31.                 br = new BufferedReader(new InputStreamReader(socket.getInputStream()));
  32.                 ps = new PrintStream(socket.getOutputStream());
  33.                 ps.println(name);
  34.                 ps.flush();
  35.             }
  36.             return true;
  37.         } catch (Exception e) {
  38.            
  39.         }
  40.         return false;
  41.     }
  42.    
  43.     private String read(){
  44.         try {
  45.             if(br.ready()){
  46.                 return br.readLine();
  47.             }
  48.         } catch (IOException e) {
  49.             e.printStackTrace();
  50.         }
  51.         return null;
  52.     }
  53.    
  54.     public void write(String line){
  55.         ps.println(line);
  56.         ps.flush();
  57.     }
  58.    
  59.     public void start(){
  60.         Thread t = new Thread(this);
  61.         running = true;
  62.         t.start();
  63.     }
  64.  
  65.     @Override
  66.     public void run() {
  67.         String ln = null;
  68.         while (running) {
  69.             ln = read();
  70.             if(ln != null){
  71.                 chatClient.getWindow().postLine(ln);
  72.                 ln = null;
  73.             }
  74.             try {
  75.                 Thread.sleep(25);
  76.             } catch(Exception e) {
  77.                
  78.             }
  79.         }
  80.     }
  81. }
Add Comment
Please, Sign In to add comment