cs_KiNdErMaXi
Messages postés1052Date d'inscriptionsamedi 10 juillet 2004StatutMembreDernière intervention30 novembre 2009
-
4 mars 2005 à 16:52
MaX_62
Messages postés879Date d'inscriptionvendredi 22 octobre 2004StatutMembreDernière intervention29 juin 2007
-
6 mars 2005 à 07:42
on m'a parler (il se reconnaitera) d'une technique pour faire un jeu en temps reel
il s'agit d'utiliser des socket j'aurai voulu avoir plus d'informations sur ce sujet si c'est possible
merci d'avance :o)
MaX_62
Messages postés879Date d'inscriptionvendredi 22 octobre 2004StatutMembreDernière intervention29 juin 2007 4 mars 2005 à 17:29
Tu t'adresses a tout le monde ou a qqn de précis ??
Si c'est pour tout le monde explique un peu...
Sinon pour faire un jeu, ya rien de sorcier tu connectes un socket sur le server irc et tu recupéres les evenements classiques (text, join, part, etc..) a l'aide de l'évenement SOCKREAD
cs_SornDrixer
Messages postés2084Date d'inscriptionjeudi 12 décembre 2002StatutMembreDernière intervention30 janvier 20118 4 mars 2005 à 19:01
Bonsoir,
Il me semble que c'est moi qui t'avait parlé de cela KiNdErMaXi ?
Pour réagir sur se que MaX_62 a dit, je trouve cela bête d'utiliser un socket alors que tu fais passer celui-ci par le serveur IRC. Autant faire une vraie connexion client(addon)>serveur(addon) non ? Dans ce cas, aucune connexion à IRC est nécéssaire.
Pour en revenir à ta question KiNdErMaXi, il te faudra faire 2 addons :
- le serveur, lui faisant un /socklisten (ouverture et mise en écoute d'un port du PC) afin d'y recevoir et gèrer les connexions des clients
- le client, qui se connecte au serveur et se charge d'envoyer des données et de répondre aux 'demandes' du serveur
Pour le serveur, tu auras besoin de l'événement SOCKLISTEN, (éventuellement SOCKOPEN) et SOCKREAD, et pour le client, en grande partie SOCKREAD
Je pense que le coding du client ne devrait pas de poser de problème (c'est un client comme un autre après tout, il doit juste réagir en fonction de ton serveur que tu coderas en parallèle)
Pour le serveur, tu peux jetter un oeil à mon code suivant :
http://www.ircfr.com/code.aspx?ID=20916 C'est la base d'un simple serveur (il accepte les clients, affiche les données reçues et permet l'envoie de requete manuelle), à toi de tester, de le comprendre, et de le continuer.
cs_KiNdErMaXi
Messages postés1052Date d'inscriptionsamedi 10 juillet 2004StatutMembreDernière intervention30 novembre 20092 4 mars 2005 à 19:23
je confirme sorn c'est bien toi
je dirai que le serveur c'est pas grand chose et facile avec ton addon
mais bon une fois le serveur en route je ne vois pas trop comment le "coder"
est-ce que je code comme un mirc ??
merci en tout cas j'ai déja fais un pas en avant
Vous n’avez pas trouvé la réponse que vous recherchez ?
cs_SornDrixer
Messages postés2084Date d'inscriptionjeudi 12 décembre 2002StatutMembreDernière intervention30 janvier 20118 4 mars 2005 à 20:52
Pour gèrer la communication client<=>serveur, tu vas devoir travailler 99% du temps sur l'événement SOCKREAD. Après, tout dépend comment tu comptes organiser tes données, le système de base serait par exemple :
RAW informations
Pour un système d'identification au serveur, tu peux imaginer que le client envoie au serveur "PSEUDO le_pseudo"
Ensuite côté serveur, on vérifie quel raw a été envoyé (le 1er mot recu dans nos données dans notre cas), $gettok(la chaine,1,32), ou tout simplement $1 si tu as pensé à appliquer un /tokenize 32 chaine au début de ton sockread
Ca peut donner par exemple :
if ($1 == PSEUDO) {
if ($readini(serveur.ini,pseudo,$2)) { sockwrite -n $sockname Ce pseudo existe }
else { sockwrite -n $sockname Ce pseudo n'existe pas }
}
(Code à incorporer dans le sockread du serveur)
C'est un exemple parmis tant d'autre, dans celui-ci on vérifie que le raw envoyé est PSEUDO, ensuite on regarde dans serveur.ini section pseudo si on trouve l'existance du pseudo spécifié après le raw.
Si celui-ci existe, on éxécute la commande correspondante à notre condition, dans le cas contraire, else est appelé.
Je pense que ce genre de système est le plus simple à mettre en oeuvre, il vaut mieux éviter de faire appel au binaire ou de crypter les données pour l'échange client<=>serveur, ca serait trop un casse-tête pour pas grand chose.
cs_KiNdErMaXi
Messages postés1052Date d'inscriptionsamedi 10 juillet 2004StatutMembreDernière intervention30 novembre 20092 5 mars 2005 à 13:46
si je résume sorn,
- je créé un serveur (jusque la pas de problèmes :p)
- je connecte un socket a ce meme serveur
- et je fais marcher le machin a l'aide de sockread
c'est ca ?
cs_SornDrixer
Messages postés2084Date d'inscriptionjeudi 12 décembre 2002StatutMembreDernière intervention30 janvier 20118 5 mars 2005 à 18:14
Concernant le serveur, soit tu comptes l'héberger toi-même et donc il n'y aura qu'un seul serveur de jeu pour les joueurs, soit tu le distribues. Ainsi, tu permettras à nimporte qui de créer son propre serveur. (c'est d'ailleur la meilleure solution, à moins d'avoir une très grosse machine et très grosse connexion sous la main pour faire un unique serveur)
Lorsque tu codes et teste ton addon, oui tu te connectes à toi même, plus précisemment à 127.0.0.1 (localhost)