Я разрабатываю приложение для Android, и мне нужно отправить сообщение из приложения на сервер Java.Отправка сообщения от клиента Android на сервер Java
Java Server работает следующим образом:
thread = new Thread(){
public void run(){
System.out.println("Server is running...");
try {
ServerSocket socket = new ServerSocket(7000);
while(true){
Socket s = socket.accept();
DataInputStream dis = new DataInputStream(s.getInputStream());
System.out.println("Received from client: " + dis.readUTF());
dis.close();
s.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
};
thread.start();
В моем приложении я отправить сообщение таким образом:
mt = new Thread() {
public void run() {
try {
Socket socket = new Socket("192.168.1.100", 7000);
DataOutputStream dos = new DataOutputStream(socket.getOutputStream());
dos.writeUTF(song_field.getText().toString());
dos.flush();
dos.close();
socket.close();
} catch (IOException e) {
e.printStackTrace();
}
}
};
mt.start();
Toast.makeText(context, "Your Message is sent. Thank you!", Toast.LENGTH_SHORT).show();
Я могу отправить сообщение с эмулятором и мой телефон успешно, так как они подключен к одному Wi-Fi-соединению, но если устройство не подключено к той же сети, сообщение не отправляется на сервер. Я хочу, чтобы все могли отправлять сообщения на компьютер, независимо от их интернет-соединения.
Как исправить эту проблему?
Я вижу сэра, ну, у меня нет ни одного сервера или веб-сайта. Могу ли я создать свой собственный сервер с Java, не заплатив денег за получение сообщений из моего приложения. – orkun
Вы можете использовать что-то вроде Google App Engine - https://cloud.google.com/appengine/docs/java/ –
Простите за опоздание «примите ответ». Ты помог мне сэру. – orkun