Maison >développement back-end >tutoriel php >Comment ajouter une fonction push instantanée en php
Cet article présente principalement comment ajouter la fonction push instantané à PHP. Il a une certaine valeur de référence. Maintenant, je le partage avec vous. Les amis dans le besoin peuvent s'y référer
Ouvrez le navigateur et continuez à vous serrer la main. avec le serveur. websocket
Il fallait beaucoup de temps pour utiliser Workerman auparavant, mais maintenant Workerman a optimisé son code -》https://www.workerman.net/web-sender
Effet 1 :
Page de réception du message : http://demos.workerman.net/web-sender/
URL de l'interface Push : http://demos.workerman.net:2121/?type=publish&to=uid&content=content
où se trouve l'UID pour recevoir le message. S'il est vide, le message sera. poussé à tout le monde, le contenu est le contenu du message
Effet 2 :
Voir la section statistiques en ligne dans le pied de page de cette page, prend en charge les statistiques des personnes en ligne et des pages en ligne en temps réel
Service de surveillance de l'état du serveur vmstat
Message WEB framework push
BrowserQuest version PHP caméra vidéo diffusion en direct Thrift RPC Cadre d'appel à distance Json RPC cadre d'appel à distance cadre de salle de discussion système de surveillance statistique PHP têtard jeu interactif en temps réel jeu en ligne multijoueur hotflappy bird
Tout d'abord : reportez-vous au manuel pour vérifier/installer l'environnement Workerman
1. Télécharger : (Téléchargez web-msg-sender et extrayez-le dans n'importe quel répertoire
2. Démarrer : CD du système Linux dans le répertoire du framework et exécutez php start.php start -d
Le système Windows entre dans le répertoire du framework et double-cliquez sur le fichier start_for_win.bat pour démarrer
3. Test : Port d'accès du navigateur. http://ip:2123 ou http://nom de domaine:2123, par exemple http://workerman.net : 2123 est affiché dans la figure : (S'il est inaccessible, veuillez vérifier le pare-feu du serveur, et s'il l'est un serveur cloud, mettre en place un groupe de sécurité)
<script src='http://cdn.bootcss.com/socket.io/1.3.7/socket.io.js'></script> <script> // 连接服务端,workerman.net:2120换成实际部署web-msg-sender服务的域名或者ip var socket = io('http://workerman.net:2120'); // uid可以是自己网站的用户id,以便针对uid推送以及统计在线人数 uid = 123; // socket连接后以uid登录 socket.on('connect', function(){ socket.emit('login', uid); }); // 后端推送来消息时 socket.on('new_msg', function(msg){ console.log("收到消息:"+msg); }); // 后端推送来在线数据时 socket.on('update_online_count', function(online_stat){ console.log(online_stat); }); </script>
<?php // 指明给谁推送,为空表示向所有在线用户推送 $to_uid = ""; // 推送的url地址,使用自己的服务器地址 $push_api_url = "http://workerman.net:2121/"; $post_data = array( "type" => "publish", "content" => "这个是推送的测试数据", "to" => $to_uid, ); $ch = curl_init (); curl_setopt ( $ch, CURLOPT_URL, $push_api_url ); curl_setopt ( $ch, CURLOPT_POST, 1 ); curl_setopt ( $ch, CURLOPT_HEADER, 0 ); curl_setopt ( $ch, CURLOPT_RETURNTRANSFER, 1 ); curl_setopt ( $ch, CURLOPT_POSTFIELDS, $post_data ); curl_setopt ($ch, CURLOPT_HTTPHEADER, array("Expect:")); $return = curl_exec ( $ch ); curl_close ( $ch ); var_export($return);
Lorsque vous utilisez Linux, vous aurez peut-être besoin des extensions posix et pcntl de php
WorkerMan push est ajouté à YII2 [version 2.0]
Ce qui précède est tout le contenu de cet article, je j'espère que cela sera utile à l'apprentissage de tout le monde. Pour plus de contenu connexe, veuillez faire attention au site Web PHP chinois !
Recommandations associées :
Opérations sur les fichiers et répertoires PHP
Comment générer des liens courts en PHP
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!