У меня есть приложение клиент-сервер на Android, оба работают на одной машине.В первом действии моего клиентского приложения я пытаюсь вызвать клиентский класс, который должен подключиться к серверному приложению, но меня принудительно закрывают.
Вот как я вызываю клиентский класс в первом действии моего приложения:
Thread cThread=new Thread(new ClientThread());
cThread.start();
и вот мой класс клиента:
public class ClientThread implements Runnable{
private Handler handler=new Handler();
Socket socket;
private TextView clientState;
public void run()
{
try
{
InetAddress serverAddr=InetAddress.getByName("10.0.2.2");
handler.post(new Runnable(){
public void run(){
clientState.setText(" try to connect!");
}
});
socket=new Socket(serverAddr, 8080);
//connected=true;
handler.post(new Runnable(){
public void run(){
clientState.setText("Connected!");
}
});
}
catch(Exception e){
handler.post(new Runnable(){
public void run(){
clientState.setText("Error");
}
});
e.printStackTrace();
}
}
protected void onStop() {
super.onStop();
try {
// make sure you close the socket upon exiting
//out.close();
socket.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
Может кто-нибудь сказать, что не так или, по крайней мере, дать мне идею.Одна вещь, которую я должен сказать, это то, что мой клиент работает нормально - он подключается к серверу, когда класс клиента интегрирован в мою первую деятельность (я имею в виду, что изначально у меня не было класса клиента, все было в первой операции ... и этоработал нормально).Я здесь для более подробной информации!Спасибо заранее!