À l'aide de PHP avec le Support.io
Est-il possible d'utiliser des Sockets.io sur le côté client et de communiquer avec un PHP en fonction de l'application sur le serveur? N'PHP soutien, même à une longue durée de vie de la connexion à la manière de l'écriture de code?
Tous les exemples de code que j'ai trouver pour le socket.io semble être pour node.js sur le côté serveur, donc pas y aider.
- Double Possible: Socket.io de source php
- Vous pouvez envisager de pusher. Il a une chouette bibliothèque PHP que je vais utiliser.
- salut, essayez celui - github.com/walkor/phpsocket.io
Vous devez vous connecter pour publier un commentaire.
Il peut être un peu tard pour cette question, mais voici ce que j'ai trouvé.
Je ne veux pas de débat sur le fait que les nœuds ne fait que mieux que php ou pas, ce n'est pas le point.
La solution est la suivante : je n'ai pas trouvé de mise en œuvre de la prise.io pour PHP.
Mais il existe des moyens pour mettre en œuvre Les WebSockets. Il est ce plugin jQuery vous permettant d'utiliser les Websockets alors que normalement dégradant pour les non-soutenir les navigateurs. Sur le PHP côté, il y a cette classe qui semble être la plus largement utilisée pour PHP WS serveurs.
Si vous souhaitez utiliser socket.io avec php, cela peut être votre réponse!
site web du projet:
l'éléphant.io
ils sont aussi sur github:
https://github.com/wisembly/elephant.io
Éléphant.io fournit une prise.io client entièrement écrit en PHP qui devrait être utilisable partout dans votre projet.
Il est léger et facile à utiliser de la bibliothèque, qui vise à apporter en temps réel des fonctionnalités à une application en PHP par socket.io et les websockets pour les actions qui ne pouvait pas être fait en full javascript.
exemple à partir du site web du projet (communiquer avec le serveur websocket par le biais de php)
serveur php
socket io server
Mise à JOUR: Août 2014 L'actuel socket.io v1.0 a un site en PHP, par exemple:- https://github.com/rase-/socket.io-php-emitter
Si vous voulez vraiment utiliser PHP comme backend pour la socket.io ,voici ce que j'ai trouvé.
Deux socket.io php côté serveur alternative.
https://github.com/walkor/phpsocket.io
https://github.com/RickySu/phpsocket.io
Exemple des codes pour le premier référentiel de ce genre.
Euh, pourquoi voudriez-vous? Le congé de PHP sur le serveur et NodeJS/Sockets pour faire son non-bloquant chose.
Voici quelque chose pour vous aider à démarrer: http://groups.google.com/group/socket_io/browse_thread/thread/74a76896d2b72ccc
Personnellement, j'ai l'express en cours d'exécution avec un point de terminaison qui est à l'écoute expressément pour l'interaction à partir de PHP.
Par exemple, si j'ai envoyé à un utilisateur un e-mail, je veux socket.io pour afficher une notification en temps réel à l'utilisateur.
Voulez interaction de la prise électrique.io pour php, eh bien, vous pouvez tout simplement faire quelque chose comme ceci:
Sérieusement, PHP est idéal pour faire de côté de serveur de choses et que ce soit avec les connexions qu'il n'a pas sa place dans ce domaine maintenant. Pourquoi faire quelque chose le long du scrutin lorsque vous avez websockets ou flashsockets.
Pour 'long terme de connexion que vous avez mentionné, vous pouvez utiliser la clé à Cliquet pour PHP. C'est une bibliothèque basée sur le Socket de Flux de fonctions PHP a pris en charge depuis PHP 5.
Pour le côté client, vous devez utiliser WebSocket que le HTML5 soit pris en charge au lieu de la Prise.io (puisque vous le savez, socket.io ne fonctionne qu'avec node.js).
Dans le cas où vous voulez toujours utiliser Socket.io, vous pouvez essayer de cette façon:
- rechercher & obtenir socket.io.js pour les clients à utiliser
- travailler avec Cliquet à simuler le socket.io n'sur le serveur
Espérons que cette aide!
Je sais que la lutte l'homme! Mais récemment, j'ai eu assez de travail avec Workerman.
Si vous n'avez pas tombé sur ce framework php alors il vaut mieux vérifier cela!
Bien, Workerman est un événement asynchrone piloté framework PHP pour faciliter la construction rapide, évolutive des applications réseau. (J'ai juste copié et collé qu'à partir de leur site web hahahah http://www.workerman.net/en/)
Le moyen facile d'expliquer ce que c'est que quand il s'agit de web programmation socket tous vous avez vraiment besoin d'avoir est d'avoir 2 fichiers sur votre serveur ou serveur local (là où vous travaillez).
server.php (code source qui répondra à toute demande du client)
client.php/client.html (code source qui fera la demande de l'enfourne)
Donc, fondamentalement, vous aurez droit le premier code sur vous server.php et démarrer le serveur. Normalement, comme je suis à l'aide de windows qui ajoute plus de la lutte, je lance le serveur grâce à cette commande --> php server.php début
Eh bien, si vous utilisez xampp. Voici une façon de le faire. Pour aller là où vous voulez mettre vos fichiers. Dans notre cas, nous allons le mettre dans
C:/xampp/htdocs/websocket/server.php
C:/xampp/htdocs/websocket/client.php ou client.html
En supposant que vous avez déjà ces fichiers sur votre serveur local. Ouvrez votre Git Bash ou en Ligne de Commande ou un Terminal ou celui que vous utilisez et de télécharger les bibliothèques php ici.
https://github.com/walkor/Workerman
https://github.com/walkor/phpsocket.io
J'ai l'habitude de le télécharger par compositeur et juste de chargement automatique de ces fichiers dans mes scripts php.
Et également vérifier celui-ci. C'est vraiment important! Vous avez besoin de cette bibliothèque javascript afin de vous client.php ou client.html pour communiquer avec les server.php lorsque vous l'exécutez.
https://github.com/walkor/phpsocket.io/tree/master/examples/chat/public/socket.io-client
Je viens de copier-collé de cette prise.io-dossier client sur le même niveau que mon server.php et mon client.php
Ici est la server.php code source
Et voici le client.php ou client.html code source
Encore une fois, ouvrez la ligne de commande ou git bash ou terminal où vous mettez vos server.php fichier. Donc, dans notre cas, c'est C:/xampp/htdocs/websocket/et tapé dans php server.php début et appuyez sur entrée.
Ensuite, allez à votre navigateur et tapez http://localhost/websocket/client.php à visiter votre site. Ensuite il suffit de taper quelque chose pour que la zone de texte et vous verrez une base php websocket sur l'aller!
Vous avez juste besoin de se rappeler. Dans web programmation socket, il faut juste un serveur et un client. Exécuter le serveur le premier code et le ouvert le code du client. Et là vous l'avez! Espérons que cette aide!
Si vous voulez vraiment utiliser PHP comme backend pour les WebSockets, ces liens peuvent vous aider sur votre chemin:
https://github.com/lemmingzshadow/php-websocket
http://www.htmlgoodies.com/html5/other/create-a-bi-directional-connection-to-a-php-server-using-html5-websockets.html#fbid=QqpDVi8FqD9
Comment à ce sujet ? PHPSocketio ?? C'est un socket.io php côté serveur alternative. La boucle d'événement est basé sur pecl cas d'extension. Bien que n'ai pas essayé moi-même jusqu'à maintenant.
Je n'ai pas encore essayé, mais vous devriez être capable de le faire avec ReactPHP et ce prise de composant. Ressemble à un Nœud, mais en PHP.
Nous sommes maintenant en 2018 et hoola, il existe un moyen de mettre en œuvre WS et WAMPServer php. Il s 'Appelle Ratchet.
Je cherchais vraiment un moyen simple d'obtenir de PHP pour envoyer un socket.io message aux clients.
Cela ne nécessite aucune des bibliothèques PHP qu'il utilise des sockets.
Au lieu d'essayer de se connecter à la websocket interface comme beaucoup d'autres solutions, il suffit de connecter le node.js serveur et d'utiliser
.on('data')
à recevoir le message.Puis,
socket.io
peuvent envoyer aux clients.Détecter une connexion à partir de votre serveur PHP en Node.js comme ceci:
Voici le incroyablement simple code php - j'ai enveloppé dans une fonction - vous pouvez venir avec quelque chose de mieux.
Noter que
8080
est le port de mon Node.js le serveur que vous souhaitez modifier.Vous pouvez l'utiliser comme ceci:
sio_message("chat message","Hello from PHP!");
Vous pouvez également envoyer des tableaux qui sont convertis en json et transmis aux clients.
sio_message("DataUpdate",Array("Data1" => "something", "Data2" => "something else"));
C'est un bon moyen de "confiance" que vos clients sont l'obtention de légitime des messages à partir du serveur.
Vous pouvez également avoir PHP passer le long de la base de données mises à jour sans avoir des centaines de clients à interroger la base de données.
Je souhaite que j'avais trouvé plus tôt - espérons que cette aide!
s.remoteAddress;
. Cependant, je ne suis pas à la faire fonctionner. J'obtiens la connexion au nœud, il détecte la connexion, le remoteaddress est correct, maiss.on('data')
n'arrive jamais, mais rien ne se passe. J'ai essayés.on('msg')
trop. Je suis l'aide de votre code PHP. Je suis en utilisant le protocole https, pour le nœud de serveur, mais cela ne devrait pas d'importance?8080
? Si non, vous devez changer le port. Si oui, vérifiez lesRemote Address
qui est retourné - assurez-vous que c'est le bouclage/adresse locale - c'est peut-être différent avec la configuration de votre serveur. Pour les tests, vous pouvez supprimer la ligneif(s.remoteAddress == "::ffff:127.0.0.1")
Regarder dans cette bibliothèques pour php
http://phptrends.com/category/70.
Ou de l'utilisation native de php http://www.php.net/manual/en/book.sockets.php .