package com.example.sendfiletest2; 
  
import android.annotation.SuppressLint;
import android.widget.EditText;

import java.io.BufferedReader;
import java.io.BufferedWriter; 
import java.io.DataInputStream; 
import java.io.DataOutputStream; 
import java.io.File; 
import java.io.FileInputStream; 
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter; 
import java.io.PrintWriter; 
import java.net.InetAddress; 
import java.net.Socket; 
  
@SuppressLint("SdCardPath")
public class TCPClient implements Runnable{ 
private static final String serverIP="xx.xxx.xxx.xx"; 
private static final int serverPort = 80; 
private String msg;
private EditText textField;
public TCPClient(String msg){ 
           	super(); 
           	this.msg = msg; 
} 
@SuppressWarnings("resource")
@Override 
	public void run(){ 
			try{ 
                InetAddress serverAddr = InetAddress.getByName(serverIP); 
           	    Socket sock = new Socket(serverAddr, serverPort); 
           	    try{ 
                    PrintWriter out = new PrintWriter(new BufferedWriter(new OutputStreamWriter(sock.getOutputStream())), true); 
           	        out.println(msg); 
           	        out.flush();
           	           	           	           	  
           	        DataInputStream dis = new DataInputStream(new  FileInputStream(new File("/mnt/sdcard/"+msg+".txt"))); 
           	        DataOutputStream dos = new DataOutputStream(sock.getOutputStream()); 
           	        byte[] buf = new byte[1024];  
           	        while(dis.read(buf)>0) 
           	        { 
           	           	    dos.write(buf); 
           	           	    dos.flush(); 
           	        } 
           	        dos.close(); 
           	        
           	        InputStream istream = sock.getInputStream();
           	        BufferedReader receiveRead = new BufferedReader(new InputStreamReader(istream));
	           	    String receiveMessage;
	                while(true) {
	                	
	                    if((receiveMessage = receiveRead.readLine()) != null) //receive from server
	                    {
	                        textField.setText(receiveMessage); // displaying at DOS prompt
	                    }         
	                }          
           	    } 
           	    	catch(Exception e)	{ 
           	        	e.printStackTrace();           	  
           	    	} 
           	    	finally 
           	    	{ 
           	        	sock.close(); 
           	    	} 
			} catch(Exception e){ 
             e.printStackTrace(); 
			} 
		} 
}