CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

PHP / MySQL / AJAX : Temps réel ?

punky_dookie
punky_dookie
Niveau 10
17 juillet 2009 à 12:26:21

Salut à tous !

J'ai tendance à me dire qu'il est impossible de faire du "vrai temps réel" sur une architecture client / serveur.
En fait je souhaite réaliser un genre de chat, en véritable temps réel (la rapidité de diffusion des messages est capitale, c'est une contrainte que l'on m'a fixée).
En AJAX, j'ai bien pensé à un refresh toutes les secondes, voire moins, mais je crains les problèmes de surcharge serveur...

Existe-t-il un moyen (quelque soit la technologie web) pour que les messages envoyés soient visibles sans qu'il y ait besoin que le client "vérifie" l'existence de nouveaux messages ?

Merci d'avance :)

isukthar
isukthar
Niveau 10
17 juillet 2009 à 16:19:26

Je dis peut êtreune bétise, mais si tu fais un applet java, tu met un socket en écoute, tu penses que ça va surcharger? Car quand le socket est en écoute, il n'utilise pas d'accès au serveur. Le seul accès serveur se fait au moment de la connexion.

punky_dookie
punky_dookie
Niveau 10
17 juillet 2009 à 16:34:40

A vrai dire, je connais très peu Java, encore moins quand c'est du client / serveur.
Ca veut donc dire que le serveur a possibilité d'envoyer une "alarme" au client ?
Je vais aller me renseigner sur cette piste ;)

godrik
godrik
Niveau 30
17 juillet 2009 à 17:14:40

Ca depend beaucoup ce que les gens appellent temps reel. Ce que ja'ppelle temsp reel, ce sont des applications qui ont des contraintes de deadline. Mais j'imagine que tu parles d'un jeu ou de quelquechose comme ca.

Pour un projet comme tu parle, je ne me tapperais pas le 3 way handshake de TCP a chaque instant. Le mieux est de laisser des sockets ouvertes et de parler dessus. C'est comme ca que fonctionne les client IRC en CGI.

Question, pourquoi as tu besoin d'un serveur de base de donnee pour faire ca ?

punky_dookie
punky_dookie
Niveau 10
17 juillet 2009 à 17:24:02

Merci de ta réponse.
En réalité il s'agit d'un truc de trading, où le temps est un critère extrêmement important. Il ne s'agit pas réellement d'un chat, mais d'un système où un admin envoie des messages prédéfinis que les users peuvent lire.
Il y a donc une contrainte assez importante : on ne peut pas demander aux gens d'ouvrir un port spécifique pour faire tourner l'appli.
La base de données, pas spécialement besoin pour ce module, mis à part que certains éléments des messages ont besoin d'être stockés pour faire du reporting par la suite ;)

- Y a-t-il un moyen de faire un système style IRC sans avoir à faire ouvrir des ports à ses utilisateurs (des internautes pas forcément calés en informatique) ?
- Une applet Java est-elle la seule alternative ?
- Cela implique-t-il l'acquisition d'un serveur web qui gère Java ?

Merci d'avance :)

godrik
godrik
Niveau 30
17 juillet 2009 à 18:13:20

j'ai l'impression que ce dont tu as besoni c'est d'un client de messagerie instantane, pas d'un site web. jabber pourrait etre une solution. Si tu veux vraiment le faire par un site web, regardes comment marche les client irc en ligne. Je pense que les clients attaquent une page qui est traite par un CGI et qui ne se termine jamais. Elle est probablement parse par un script JS.
Je n'en sait pas beaucoup plus.

deepblue
deepblue
Niveau 16
17 juillet 2009 à 19:34:06

En php (avec les techno web derrière), il est possible d'écouter tel un serveur. Je ne l'ai jamais fais mais j'ai lu des article sur un mec qui avait justement fait un serveur chat en php.
Ce que je ferai :
- un serveur irc
- un script client en php
- tu fais du parse des réponses reçu du serveur. Tu n'as pas besoin de faire de l'envoi de message donc tu peux passer par une appli web. (L'envoie de message serait possible mais ça implique des requetes sur un fichier coté serveur, ce que tu ne veux pas).

_skip
_skip
Niveau 10
17 juillet 2009 à 19:55:21

En j2ee, avec l'aide de technos telles que Icefaces ou Richfaces, tu peux faire des push du serveur vers le client pour rafraîchir une zone spécifique de l'écran.

Et ça tient vraiment la route...
http://www.icefaces.org/m/main/ajax-java/ajaxpush.iface

TrollMitterrand
TrollMitterrand
Niveau 6
17 juillet 2009 à 21:13:32

Omegle utiliserait pas un système similaire ? Parce qu'à moins que je ne me trompe avec un plugin firefox pour écouter les requêtes HTTP je n'"envoie" que des requêtes lorsqu'un message m'est destiné.
(pas regardé le code source, un peu trop barbare :-) )

http://omegle.com/

TrollMitterrand
TrollMitterrand
Niveau 6
17 juillet 2009 à 21:15:17

un système similaire, je parle en PHP/Ajax

punky_dookie
punky_dookie
Niveau 10
17 juillet 2009 à 23:17:20

Wah c'est super puissant ces trucs !!! Merci beaucoup, je vais étudier tout ça :)

Sous forums
  • Aide à l'achat Mac
  • Macintosh
  • Création de sites web
  • Création de Jeux
  • Linux
  • Programmation
  • Internet
  • Steam Deck
  • Hardware
La vidéo du moment