| Home >> All |
Source code: maddany/ChatListener.java
1 package maddany; 2 3 import java.io.*; 4 import java.net.*; 5 6 public class ChatListener implements Runnable { 7 private Wakable parent; 8 private ServerSocket ssock; 9 private Thread runner; 10 11 public ChatListener(int port, Wakable parent) { 12 try { 13 ssock = new ServerSocket(port); 14 this.parent = parent; 15 runner = new Thread(this); 16 runner.start(); 17 } catch(IOException e) { 18 e.printStackTrace(); 19 } 20 } 21 22 public void run() { 23 while(Thread.currentThread()==runner) { 24 try { 25 Socket sock = ssock.accept(); 26 System.out.println("Connection accepted"); 27 ChatHandshaker shaker = new ChatHandshaker(sock, parent); 28 } catch(IOException e) { 29 e.printStackTrace(); 30 continue; 31 } 32 } 33 } 34 35 public void stop() { 36 runner.interrupt(); 37 runner = null; 38 try { 39 ssock.close(); 40 } catch(IOException e) { 41 e.printStackTrace(); 42 } 43 } 44 }