Я создал свое приложение для Android, и оно почти готово, и теперь я решил, что хочу сохранить сервер Python, который я написал, на сервере AWS.До сих пор сервер работал в той же сети, что и приложение для Android, и я подключал их через сокет TCP.Сервер и клиент прекрасно работают вместе, если находятся в одной частной сети.
Я попытался изменить IP-адрес в определении сокета на публичный IPv4 сервера AWS, который я запустил, и изменил порт напорт прослушивания, определенный в коде сервера, но он не может подключиться.
Сервер, который я запустил на AWS, - это EC2 с Ubuntu.
Методы подключения, которые я использовал ранее:
Connection(){ //a c'tor of the Connection class
serverIP = IP_CONST;
serverPort = PORT_CONST;
try{
serverAddress = InetAddress.getByName(serverIP);
}
catch (UnknownHostException e){
Toast.makeText(getApplicationContext(), "Unknown host", Toast.LENGTH_SHORT).show();
connectionError = true;
}
}
public void run(){
isTheServerFree = false;
try {
if (!connectionError) {
socket = new Socket(serverAddress, serverPort);
input = new BufferedReader(new InputStreamReader(socket.getInputStream()));
}
if (socket == null){
connectionError = true;
}
}
catch (Exception e){
Toast.makeText(getApplicationContext(), "Can't connect", Toast.LENGTH_SHORT).show();
connectionError = true;
}
isTheServerFree = true;
}
}