Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package avitech.resources;
- import android.util.Log;
- import java.io.IOException;
- import java.io.InputStream;
- import java.io.OutputStream;
- import java.net.InetAddress;
- import java.net.InetSocketAddress;
- import java.net.Socket;
- import java.net.SocketAddress;
- import java.util.ArrayList;
- public class TCPRunnable implements Runnable{
- private final String ip;
- private final int port;
- private final ArrayList<String> commands;
- //<editor-fold defaultstate="collapsed" desc="Constructors">
- @Deprecated
- public TCPRunnable(String ip,int port,ArrayList<String> Cmds){
- this.ip=ip;
- this.port=port;
- this.commands = Cmds;
- }
- public TCPRunnable(String ip,int port,String Cmd){
- this.ip=ip;
- this.port=port;
- this.commands = new ArrayList<String>();
- this.commands.add(Cmd);
- }
- //</editor-fold>
- //<editor-fold defaultstate="collapsed" desc="Static Properties">
- //</editor-fold>
- //<editor-fold defaultstate="collapsed" desc="Instance Properties">
- //</editor-fold>
- public void run() {
- try {
- InetAddress serverAddr = InetAddress.getByName(this.ip);
- SocketAddress socketadd= new InetSocketAddress(serverAddr,port);
- Log.d("TCP","R: Making the socket.");
- Socket socket = new Socket();
- //new Socket();//
- Log.d("TCP","R: Connecting...");
- socket.connect(socketadd, 1500);
- // PrintWriter out = new PrintWriter (new BufferedWriter( new OutputStreamWriter(socket.getOutputStream())),true);
- InputStream socketReader = socket.getInputStream();
- OutputStream socketWriter = socket.getOutputStream();
- try {
- for (int i = 0; i < commands.size();i++){
- String Cmd = commands.get(i);
- Log.d("TCP","R: Sending: '"+Cmd+"'");
- byte [] iByte;
- byte[] oByte = new byte[100];//in 32 bit signed integers
- int CmdLen = 0;
- CmdLen = commands.get(i).length();
- oByte[0] = (byte) Integer.parseInt("AF", 16);
- oByte[1] = (byte) Integer.parseInt("FA", 16);
- oByte[2] = (byte) Integer.parseInt("F0", 16);
- oByte[3] = (byte) (255-oByte[2]);
- oByte[4] = (byte) (Cmd.length() +2);
- oByte[5] = (byte) (255-oByte[4]);
- oByte[6] = (byte) Integer.parseInt("07", 16);
- iByte = Cmd.getBytes();
- System.arraycopy(iByte, 0, oByte, 7, Cmd.length());
- oByte[7+CmdLen] = (byte) Integer.parseInt("00",16);
- oByte[8+CmdLen] = (byte) Integer.parseInt("00",16);
- Object [] data = new Object [3];
- data[0]=oByte;
- data[1]=0;
- data[2]=(9 + CmdLen);
- //ping(IP,PORT);
- //disconnect();
- //connect();
- socketWriter.write((byte[])data[0],(Integer)data[1],(Integer)data[2]);
- socketWriter.flush();
- Log.d("TCP","R: Sent.");
- //Thread.sleep(500L);
- }
- }catch (Exception ex){
- Log.e("TCP", "S: Sending failed: "+ex);
- }finally{
- socketWriter.flush();
- socketWriter.close();
- socket.close();
- Log.d("TCP","R: Done.");
- }
- } catch (IOException ex) {
- Log.e("IOEXCEPTION",""+ex);
- }
- }
- //<editor-fold defaultstate="collapsed" desc="Static Methods">
- //</editor-fold>
- //<editor-fold defaultstate="collapsed" desc="Instance Methods">
- //</editor-fold>
- //<editor-fold defaultstate="collapsed" desc="Accessors">
- //</editor-fold>
- }
- SYN -->
- <-- SYN ACK
- 0.0.0.0 port_to_listen_on_laptop box_ip_address target_box_port
- rinetd.exe -c rinetd.conf
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement