2012-09-22 42 views
1

我目前正在開發一個應用程序,當您按下按鈕時將命令發送到特定的IP地址。問題是套接字只能在一次按下按鈕後才能創建,一旦此按鈕不起作用。有什麼辦法可以在應用程序打開時創建套接字,或者我可以創建一個單獨的按鈕來創建套接字?我的代碼發佈在下面。當應用程序打開時建立一個套接字

package av.control.test; 
import java.io.IOException; 
import java.io.OutputStream; 
import java.net.Socket; 
import java.net.UnknownHostException; 
import android.app.Activity; 
import android.os.Bundle; 
import android.view.View; 
import android.widget.Button; 

public class AVControlActivity extends Activity { 

Button mbutt; 

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 
    mbutt = (Button)findViewById(R.id.Button); 
} 
public void onClick(View view) throws UnknownHostException, IOException 
{ 
    new Thread() { 
     public void run() { 
      Socket socket = null; 
      try { 
       socket = new Socket("192.168.2.95", 23); 
       dataOutputStream.Object BUFFER = null; 
       write(BUFFER); 
       String buffer="PWON\r"; 
       OutputStream os=socket.getOutputStream(); 
       os.write(buffer.getBytes()); 
      } catch (UnknownHostException e1) { 
       e1.printStackTrace(); 
      } catch (IOException e1) { 
       e1.printStackTrace(); 
      } 
      { 
       //error code 
      } 
      } 
     }.start(); 
} 
private void write(Object BUFFER) { 
    // TODO Auto-generated method stub 

    } 
} 

回答

0

你說過,當你的應用程序運行時,你想創建一個套接字。

那麼,爲什麼不使用默認構造函數(AVControlActivity)來創建套接字。

+0

任何幫助,我怎麼能做到這一點?當然,我會在行'OutputStream os = socket.getOutputStream();'和'os.write(buffer.getBytes());' – user1506916

相關問題