Envoyer un message à tous les utilisateurs de l’application

J’ai une fonctionnalité in-app qui devrait envoyer un message à tous les autres utilisateurs de l’application.

Ceci est mon code Java que j’utilise pour contacter mon serveur:

public void sendToServer(final Ssortingng text) { new Thread(new Runnable() { @Override public void run() { try { Ssortingng textParam = "text1=" + URLEncoder.encode(text, "UTF-8"); Ssortingng scriptUrlSsortingng = "http://www.example.com/example.php" URL scriptUrl = new URL(scriptUrlSsortingng); HttpURLConnection connection = (HttpURLConnection) scriptUrl.openConnection(); connection.setDoOutput(true); connection.setRequestProperty("Content-Type", "application/x-www-form-urlencoded"); connection.setFixedLengthStreamingMode(textParam.getBytes().length); OutputStreamWriter contentWriter = new OutputStreamWriter(connection.getOutputStream()); contentWriter.write(textParam); contentWriter.flush(); contentWriter.close(); InputStream answerInputStream = connection.getInputStream(); final Ssortingng answer = getTextFromInputStream(answerInputStream); runOnUiThread(new Runnable() { @Override public void run() { textView.setText(answer); } }); answerInputStream.close(); connection.disconnect(); } catch (MalformedURLException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } }).start(); } public Ssortingng getTextFromInputStream(InputStream inputStream){ BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream)); SsortingngBuilder ssortingngBuilder = new SsortingngBuilder(); Ssortingng line; try { while ((line = bufferedReader.readLine()) != null){ ssortingngBuilder.append(line); ssortingngBuilder.append("\n"); } } catch (IOException e) { e.printStackTrace(); } return ssortingngBuilder.toSsortingng().sortingm(); } 

Sur mon serveur, je lance un script php:

  

Tout cela fonctionne parfaitement bien, je récupère le texte que j’ai envoyé au serveur. Mais ce que je veux, c’est envoyer ce texte à tous les utilisateurs de l’application. Est-ce même la bonne façon ou devrais-je essayer quelque chose de complètement différent?

Merci d’avance et désolé pour mon mauvais anglais, je suis allemand.

La méthode actuelle de réception du message d’un client est correcte. Mais pour laisser les autres clients recevoir cette méthode, il vous faut une autre méthode. Cette méthode devrait demander au serveur s’il y a de nouveaux messages et le serveur devrait répondre avec ces données. Cette méthode doit être appelée aussi souvent que vous le souhaitez pour mettre à jour les messages. Cette méthode doit être similaire à votre méthode de téléchargement actuelle. Donc, l’idée est la suivante:

Le client envoie un message au serveur.

-> Le serveur enregistre le message dans un système de fichiers.

Tous les clients demandent s’il y a de nouveaux messages de temps en temps.

-> lorsque le serveur a des messages non lus pour le client spécifique, il répondra avec cela.

-> Le serveur doit marquer ce message dans le système de fichiers comme lu pour le client X.

J’espère que vous obtenez ce que je veux dire et que vous savez comment le coder 🙂 Si non, n’hésitez pas à demander 🙂