Home | History | Annotate | Download | only in discovery
      1 
      2 package com.example.android.wifidirect.discovery;
      3 
      4 import android.os.Handler;
      5 import android.util.Log;
      6 
      7 import java.io.IOException;
      8 import java.net.InetAddress;
      9 import java.net.InetSocketAddress;
     10 import java.net.Socket;
     11 
     12 public class ClientSocketHandler extends Thread {
     13 
     14     private static final String TAG = "ClientSocketHandler";
     15     private Handler handler;
     16     private ChatManager chat;
     17     private InetAddress mAddress;
     18 
     19     public ClientSocketHandler(Handler handler, InetAddress groupOwnerAddress) {
     20         this.handler = handler;
     21         this.mAddress = groupOwnerAddress;
     22     }
     23 
     24     @Override
     25     public void run() {
     26         Socket socket = new Socket();
     27         try {
     28             socket.bind(null);
     29             socket.connect(new InetSocketAddress(mAddress.getHostAddress(),
     30                     WiFiServiceDiscoveryActivity.SERVER_PORT), 5000);
     31             Log.d(TAG, "Launching the I/O handler");
     32             chat = new ChatManager(socket, handler);
     33             new Thread(chat).start();
     34         } catch (IOException e) {
     35             e.printStackTrace();
     36             try {
     37                 socket.close();
     38             } catch (IOException e1) {
     39                 e1.printStackTrace();
     40             }
     41             return;
     42         }
     43     }
     44 
     45     public ChatManager getChat() {
     46         return chat;
     47     }
     48 
     49 }
     50