Мое android приложение по какой-то причине не получает никаких данных с моего сервера. Как ни странно, другой клиент сокетов, который я написал (который работает на моем компьютере, а не AVD), получает и печатает все отправленные сервером сообщения без ошибок. Он использует код, аналогичный тому, который содержится в методе doInBackground
.
public class Client extends AsyncTask<Void, Void, Void> {
int port;
Socket s;
@Override
protected Void doInBackground(Void... voids) {
try {
port = 1818;
s = new Socket("xx.xx.xx.xx", port);
if (!s.isConnected()) {
s.close();
}
BufferedReader re = new BufferedReader(new InputStreamReader(s.getInputStream()));
String temp = null;
while ((temp = re.readLine()) != null)
{
MainActivity.changeT(temp); // This will replace the TextView's text with temp.
}
}
catch(Exception e)
{
e.printStackTrace();
}
return null;
}
}
Я думаю, что возможным решением было бы поместить while l oop в отдельный поток, но я не уверен. Любые предложения приветствуются! : -)