FragmentActivity가 메인이 되고 거기에 TCP 통신을 하려고 합니다
AsyncTask를 이용하였는데 소켓 연결 때 client.execute()쪽에서 에러가 발생합니다
원래 이렇게 사용 할 수 없는 것인지 궁금합니다
public class MainFragmentActivity extends FragmentActivity {
protected void onCreate(Bundle bundle) {
super.onCreate(bundle);
setContentView(R.layout.framents);
try {
client = new TCPClient();
Log.d("MainFragmentActivity Client", "class create");
client.execute(); <-- 여기에서 Exceptioin으로 빠집니다
} catch (Exception e) {
// TODO Auto-generated catch block
Log.e("MainFragmentActivity Client", "connect error");
client.TCPClose();
client.cancel(true);
askCancel = false;
finish();
}
}
private class TCPClient extends AsyncTask<Object, String, Object> {
protected String IP = "xxx.xxx.xxx.xxx"; // server ip 153
protected int PORT = xxx;
private String mWriteMessage = "";
private String mReadMessage = "";
private InetSocketAddress socketAddress;
char[] buffer = new char[1024];
private int connectedMessage[] = { 0, 0 };
@Override
protected void onPreExecute() {
noneInt = 1;
Log.d("TCP", "server connecting");
Log.d("TCP Client Class", "1");
try {
socketAddress = new InetSocketAddress(IP, PORT);
socket = new Socket();
socket.connect(socketAddress, 3000);
output = new BufferedWriter(new OutputStreamWriter(
socket.getOutputStream()));
} catch (UnknownHostException e) {
// TODO Auto-generated catch block
Log.e("socket connect", "unknow host error");
} catch (IOException e) {
// TODO Auto-generated catch block
Log.e("TCP Class", "socket creat");
TCPClose();
finish();
client.cancel(true);
}
}
...........................
}
}