1 package org.xvsm.lookup.gnutella.threads;
2
3 import java.net.ServerSocket;
4 import java.net.Socket;
5
6 import org.xvsm.lookup.gnutella.GnutellaPeer;
7
8 /***
9 * thread, which listens for incoming traffic from other peers
10 *
11 * @author Hannu-Daniel Goiss
12 */
13 public class ListenerThread extends Thread {
14 private int port;
15 private GnutellaPeer peer;
16
17 public ListenerThread(int port, GnutellaPeer peer) {
18 this.port = port;
19 this.peer = peer;
20 }
21
22 public void run() {
23 try {
24 ServerSocket serverSocket = new ServerSocket(this.port);
25
26 while (true) {
27 Socket socket = serverSocket.accept();
28
29 try {
30 ConnectionThread ct = new ConnectionThread(this.peer,
31 socket);
32 ct.run();
33 } catch (Exception e) {
34 e.printStackTrace();
35 }
36 }
37 } catch (Exception e) {
38 e.printStackTrace();
39 }
40 }
41 }