public class NetworkTask extends AsyncTask<Void, Void, Void>
{
String dstAddress;
int dstport;
public NetworkTask(String ip,int port)
{
dstAddress=ip;
dstport=port;
}
public NetworkTask()
{
// TODO Auto-generated constructor stub
}
@Override
protected Void doInBackground(Void... arg0)
{
super.onPreExecute();
String a="1";
String b="2";
Log.d("TCP","STS");
while(true)
{
Log.d("TCP", "어싱크태스크돌아요1");
try {
Log.d("TCP", "어싱크태스크돌아요2");
if(input.readLine()!=null)
{
if(input.readLine().compareTo(a)==0)
{
// thand.post(showUpdate);
Log.d("TCP", "팝업스레드");
//showUpdate.run();
}
else if(voice.compareTo(b)==0)
{
// thand.post(showUpdate_1);
Log.d("TCP", "압축스레드");
}
else
{
Log.d("TCP", "nonono");
}
}
else
{
Log.d("TCP", "인풋이 없어욤");
}
}
catch (IOException e)
{
Log.d("TCP", "어싱크태스크돌아요3");
e.printStackTrace();
}
Log.d("TCP", "어싱크태스크돌아요4");
}
}
}
너무나 궁금해서 이렇게 질문을 올리게되었습니다..
이번에 안드로이드로 소켓통신을 구현하고 있습니다.
서버는 에코서버로 테스트 중이구요.
oncreate에서 소켓을 열어주고
onstart에서 asynctask excute를 합니다. 그러면 async가 메시지를 받아오는족족 반응이 와야하는데..
위에보면
어싱크태스크돌아요1
어싱크태스크돌아요2 까지만 기록이 되고 그다음에 죽어버리는거 같습니다.
제생각엔 try -catch문과 if-else 구문이 문제인거같은데 도저히 모르겠습니다 ㅠㅠ..
고수님들께 도움요청드립니다..!!