Ecoute sur socket

bencoandco Messages postés 165 Date d'inscription samedi 8 mai 2010 Statut Membre Dernière intervention 3 janvier 2015 - 16 sept. 2010 à 09:40
William847 Messages postés 1 Date d'inscription mardi 12 novembre 2019 Statut Membre Dernière intervention 12 novembre 2019 - 12 nov. 2019 à 06:05
Bonjour,


J'ai une petite question à propos des sockets comment faire pour écouter un message envoyé par un serveur en local sur une socket côté client sans faire une boucle et sans que le client n'envoit de message auparavant ?

En gros comment faire pour lire une socket seulement quand on reçoit un message sur cette socket ?



MErci pour réponse ou infos sur ce sujet !

9 réponses

neigedhiver Messages postés 2480 Date d'inscription jeudi 30 novembre 2006 Statut Membre Dernière intervention 14 janvier 2011 19
16 sept. 2010 à 10:27
Salut,

Euh... PHP n'est pas un logiciel qui tourne en arrière plan, mais qui exécute des scripts. Donc je doute que tu puisses faire ce que tu veux avec PHP, sans faire de boucle.
D'ailleurs, juste comme ça... Pour écouter un socket, un port ou autre, il faut TOUJOURS faire une boucle, c'est ce que font les logiciels d'écoute, ils bouclent en attendant qu'il y ait quelque chose à traiter... Conclusion...

--
Neige

Souvent la réponse à votre question se trouve dans la doc. Commencez par là ;)
0
bencoandco Messages postés 165 Date d'inscription samedi 8 mai 2010 Statut Membre Dernière intervention 3 janvier 2015
16 sept. 2010 à 10:52
Ok merci Neigedhiver ! Autre question est on tjr obligé d'envoyer un message au serveur pour faire un read_socket ?
0
bencoandco Messages postés 165 Date d'inscription samedi 8 mai 2010 Statut Membre Dernière intervention 3 janvier 2015
27 oct. 2010 à 16:01
up !
0
bencoandco Messages postés 165 Date d'inscription samedi 8 mai 2010 Statut Membre Dernière intervention 3 janvier 2015
27 oct. 2010 à 17:17
Salut,

Euh... PHP n'est pas un logiciel qui tourne en arrière plan, mais qui exécute des scripts. Donc je doute que tu puisses faire ce que tu veux avec PHP, sans faire de boucle.
D'ailleurs, juste comme ça... Pour écouter un socket, un port ou autre, il faut TOUJOURS faire une boucle, c'est ce que font les logiciels d'écoute, ils bouclent en attendant qu'il y ait quelque chose à traiter... Conclusion...


Re Bonjour c'est remoi ;-)


Quelqu'un aurait il un exemple de script d'écoute de socket ?

Merci !
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
kohntark Messages postés 3705 Date d'inscription lundi 5 juillet 2004 Statut Membre Dernière intervention 27 avril 2012 30
27 oct. 2010 à 21:08
Salut,

La doc est là :
http://www.php.net/manual/fr/book.sockets.php

Sa lecture et sa compréhension seront 1000 fois plus performantes que ce qui pourrait t'être dit ici.
Il y a toutes les réponses à tes questions.

La balle est donc dans ton camp.
Si tu rencontres des problèmes de compréhension n'hésite pas à re poster.

Cordialement,

Kohntark -
0
William847 Messages postés 1 Date d'inscription mardi 12 novembre 2019 Statut Membre Dernière intervention 12 novembre 2019
Modifié par William847 le 12/11/2019 à 06:06
Thank you for such a wonderful article and sharing. God bless you.!
0
TychoBrahe Messages postés 1309 Date d'inscription samedi 31 janvier 2009 Statut Membre Dernière intervention 5 juin 2013 12
28 oct. 2010 à 01:29
Salut,

Pour écouter un socket, un port ou autre, il faut TOUJOURS faire une boucle, c'est ce que font les logiciels d'écoute, ils bouclent en attendant qu'il y ait quelque chose à traiter... Conclusion...

Non, ça n'a aucun sens.

En gros comment faire pour lire une socket seulement quand on reçoit un message sur cette socket ?

Tu fais un appel à un socket_select() qui sera bloquant. Ainsi le fil d'exécution ton code reste en suspendu jusqu'a ce que select rende la main.
0
bencoandco Messages postés 165 Date d'inscription samedi 8 mai 2010 Statut Membre Dernière intervention 3 janvier 2015
28 oct. 2010 à 08:42
Oui mais je vais avoir un message du style : " erreur :l'execution du script prend trop de temps..." et un plantage nan ?

As tu des exemples d'utilisation de socket_select() ?

Merci !
0
TychoBrahe Messages postés 1309 Date d'inscription samedi 31 janvier 2009 Statut Membre Dernière intervention 5 juin 2013 12
28 oct. 2010 à 11:19
Oui mais je vais avoir un message du style : " erreur :l'execution du script prend trop de temps..." et un plantage nan ?

Utilisé comme CGI pour générer une page web oui, mais pas en CLI. Après je ne sais pas ce que tu fais comme projet, tu devrais donner plus de renseignements.
0
bencoandco Messages postés 165 Date d'inscription samedi 8 mai 2010 Statut Membre Dernière intervention 3 janvier 2015
29 oct. 2010 à 15:43
Bonjour,


Mon projet est de faire communiquer des ordinateurs entre eux dans un réseau local, je veux que chaque ordinateur puisse se mettre en mode écoute et renvoyer un message en même temps.

J'entends par mode écoute que l'ordinateur connecté n'ai pas à envoyer de message avec socket_write au serveur pour recevoir un message.

J'utilise easyphp accessible en local depuis tous les PC.


Pour ce qui est du CLI je vais regarder mais comment afficher les infos récuperées dans un script CLI ?

Merci pour vos rep ;-)
0
tu peux avec de l'objet faire des boucles sans utilisé de boucle while ou for... tu peux aussi imaginons dans un tableau déposé une fonction anonyme qui va tester le socket et retourné null ou une valeur ça te permet de savoir quel socket est ok pour être lu en filtrant de ton tableau les valeur null.
0
Whismeril Messages postés 19022 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 17 avril 2024 656
22 août 2019 à 22:12
BONJOUR si si quand on réveille une discussion endormie depuis 9 ans, saluer est opportun.

Et on va espérer pour bencoandco que depuis le temps il a trouvé une solution.
0
Rejoignez-nous