Я получаю Caused by: android.system.ErrnoException: isConnected failed: ECONNREFUSED (Connection refused)
при попытке подключиться к моему серверу redis в AndroidStudio. Сервер уже запущен, и статус показывает, что он хорошо работает в терминале (зеленый индикатор, активный: работает, PONG - jedis.ping () в redis-cli -p 6381 (я использую порт 6381)). Я подумал, что мог бы написать ложный ip и порт в Jedis jedis = new Jedis("127.0.0.1",6381);
, но sudo lsof -i -P -n | grep LISTEN
говорит redis-ser 28687 redis 6u IPv4 258387 0t0 TCP 127.0.0.1:6381, поэтому кажется, что IP и порт верны. По этой причине мне все еще интересно, почему я получил это исключение. Конечно, это моя глупая ошибка, но я не могу понять, где она. В Android Manifest также есть разрешение Inte rnet. Поэтому мой код указан ниже, но я не уверен, что причина в коде:
package com.samfoundation.samfoundation;
import android.os.AsyncTask;
import redis.clients.jedis.Jedis;
public class Connection extends AsyncTask<Void, Void, String> {
String value;
@Override
protected String doInBackground(Void... arg0) {
Jedis jedis = new Jedis("127.0.0.1",6381);
value = jedis.ping();
return value;
}
}
public class MainActivity extends AppCompatActivity {
Button click;
TextView show;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
click = (Button)findViewById(R.id.button);
show = (TextView)findViewById(R.id.textView);
Connection con = new Connection();
con.execute();
final String message = con.value;
click.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
show.setText(message);
}
});
}
}