salut
je n'ai pas vu de programme de tchat en temps réel sur android
est ce compliqué ? ou ?
que conseillez vous pour utiliser les sockets ?
j'ai un tchat fonctionnant sous windows et j'aimerais créer un client pour android
merci
salut
je n'ai pas vu de programme de tchat en temps réel sur android
est ce compliqué ? ou ?
que conseillez vous pour utiliser les sockets ?
j'ai un tchat fonctionnant sous windows et j'aimerais créer un client pour android
merci
Le truc c'est qu'un "tchat" au sens "tcp": ouverture de socket, maintien du socket ouvert pendant toute la durée etc... n'est pas possible avec un mobile: changement d'IP fréquent, mise en veille du téléphone (et donc timeout des sockets à priori), etc....
il faut toujours qu'il y ait quelqu'un pour mal interpréter un post, faire comme si ce que l'on cherche existe déjà ou est inutile
heureusement il y en a comme nicroman qui comprenne le sujet du premier coup
je poursuis donc avec ceux qui ont compris, nicroman c'est sans doute pourquoi je n'ai jamais vu ce genre de programme ?
je trouvais aussi qu'il faudrait une certaine rigueur car les sockets (je parle sur pc) sont très strict : la moindre déco et c'est finit
mais dans ce cas comment font les jeux en ligne ? je suppose que ce n'est pas que de l'udp ?
2 minutes de recherches :
https://github.com/ubergeek42/weechat-android
Comme toute application JAVA de chat... après tu déconnecte le client en fonction de tes besoins. ( Ecran Affiché, Activity en cours, ou Application en cours) à toi de voir.mais dans ce cas comment font les jeux en ligne ? je suppose que ce n'est pas que de l'udp ?
C'est possible mais compliqué.Le truc c'est qu'un "tchat" au sens "tcp": ouverture de socket, maintien du socket ouvert pendant toute la durée etc... n'est pas possible avec un mobile:
salut
excusez mon retard, j'étais assez pris ces derniers jours
tu peux dans ce cas me donner des exemples de tchat genre salle avec des mobiles connectés en direct ?
ne me parle pas de skype, ni de whatsapp qui envoie des messages en attendant une réponse (les clients ne sont pas forcément connecté entre eux)
je sais chercher aussi sur google, je pense que j'aurai trouvé pas mal de source
cependant je demandais l'avis des membres, qui je pensais utilisaient les sockets lors de leur développement
c'est comme pour delphi que je pratique, il existe des milliers des composants, mais on a une petite préférence, pour la légèreté / simplicité pour par exemple les anciens compo Tclient/server Socket ou alors les nouveaux compo Indy
voilà un peu ce que je répondrais à un membre s'il posait la question dans la rubrique delphi![]()
Fais un recherche sur IRC ou sur jabber dans le store. IRC et Jabber sont des protocole de chat, où tu te connecte à un salon, et tu y envoie les message, et tu reçois ceux des autres utilisateurs connectés.
Par contre les clients ne sont pas connectés l'un à l'autre (même si IRC a un protocole DCC pour les transferts de fichiers). Ils sont connectés au serveur, qui transfère....
Tu veux faire du chat en peer to peer? Ca va être vachement compliqué là![]()
oui c'est quelque chose à la irc qu'il me faut, mais je suppose que irc doit avoir ses propres composant
pour la connexion, je me suis mal exprimé, je sais que tous les clients seront connectés au serveur qui lui fera le relais et enverra tous les messages
mais j'ai pris l'exemple de what'sapp car je n'ai pas l'impression que les machines restent connectés en même temps au server, j'ai plus l'impression qu'un client envoie au serveur, et l'autre client une fois connecté au serveur récupère ce qui lui ait destiné ... enfin c'est pas le prob vu que ce n'est pas whatsapp 2 que je veux faire ^^
Le problème d'un tchat "à la irc", c'est qu'un mobile, par définition, n'est connecté à internet tout le temps, et change assez fréquemment d'ip... (passage 3G/4G/WiFi/...) quand il ne se deconnecte pas du réseau purement et simplement (veille). C'est pourquoi la communication à base de sockets simple est particulièrement inadaptée.
L'idée est donc d'avoir un serveur oui, mais en mode "connection-less".
Quand un client se connecte au serveur il ne fait que dire "l'utilisateur X s'est connecté à la room R".
Quand un client se deconnecte, il ne fait que dire "l'utisateur X est parti de la room R"
Quand un client envoit un message, etc...
Ensuite, le serveur va dispatcher à tous les client marqué dans la room R (Y, Z, etc...) que l'utilisateur X s'est connecté, le message qu'il a envoyé, etc.
Ceci est fait en cloud messaging (ce qui permet de réveiller le téléphone, et de broadcaster à tous les utilisateurs le même message sans s'occuper de grand chose).
salut nicroman
oui on est d'accord pour sur ce point, mais il doit bien avoir de petits jeux en ligne, avec tchat, ect
je n'ai pas le choix, je dois le faire fonctionner comme un ordi et maintenir la connexion : quitte à faire que déconnecter l'utilisateur à chaque fois qu'il change de moyen de connexion (avec système de reconnexion) / ou alors permettre l'utilisation de mon programme en wifi uniquement (c'est déjà plus fiable)
par contre là je n'ai pas très bien compris ce passage là ... tu parles "d'idée" mais justement d'après ce que tu as dis plus haut, ça ne sera pas efficace ?
pourtant c'est comme ça que je compte faire
et si tu appelles ça "connection-less" qu'est ce qui serait "connexion-full" ?
connection-less veut dire que la connexion avec le serveur n'est que durant la durée d'envoi des évenements.
connection-full serait, on se connecte au serveur (new socket) et on utilise cette connexion pendant toute la durée du tchat.
En bref, le serveur peut simplement être écrit en php, et ne maintient pas de connexion avec ses clients.
bonjour
voici le code complet d'un tchat : https://github.com/Pirngruber/AndroidIM
Comme tu le verras la partie Serveur est en PHP
cordialement
nicroman, non il me faut absolument connecter les 2 machines en full (android et serveur)
quitta à autoriser les connexions uniquement lorsqu'on est en wifi (connexion plus fiable)
on ne doit pas utiliser le php
si ce n'est pas possible / facile à réaliser sous android, on pourrait peut sans doute le faire en java (applet) ou flash ?
Bonjour,
Pour ma part, je cherchais un chat Android avec serveur PHP, donc ce post et vos réponses m'ont étés utiles.
Merci.
Partager