Heim  >  Artikel  >  Backend-Entwicklung  >  So fügen Sie eine Instant-Push-Funktion in PHP hinzu

So fügen Sie eine Instant-Push-Funktion in PHP hinzu

不言
不言Original
2018-07-04 16:57:452379Durchsuche

Dieser Artikel stellt hauptsächlich vor, wie man die Instant-Push-Funktion zu PHP hinzufügt. Er hat einen gewissen Referenzwert. Jetzt können Freunde in Not darauf verweisen.

Öffnen Sie den Browser und schütteln Sie ihn weiter mit dem Server. websocket

Früher hat die Verwendung von Workerman viel Zeit in Anspruch genommen, aber jetzt hat Workerman seinen Code optimiert -》https://www.workerman.net/web-sender

Effekt 1:

Nachrichtenseite empfangen: http://demos.workerman.net/web-sender/

Push-Schnittstellen-URL: http://demos.workerman.net:2121/?type=publish&to=uid&content=content
Wo ist die UID zum Empfangen der Nachricht? Wenn sie leer ist, wird die Nachricht angezeigt an alle weitergegeben. Inhalt ist der Nachrichteninhalt

Effekt 2:

Sehen Sie sich den Abschnitt „Online-Statistiken“ in der Fußzeile dieser Seite an und unterstützen Sie Online-Personen- und Online-Seitenstatistiken in Echtzeit.

Andere Anwendungen

VMstat-Serverstatusüberwachungsdienst

WEB-Nachricht Push-Framework

BrowserQuest PHP-Version Kamera-Video-Liveübertragung Thrift RPC Remote Calling Framework Json RPC Remote Calling Framework Chatroom Framework Statistisches Überwachungssystem PHP Tadpole Echtzeit-Interaktives Spiel Hotflappy Bird Multiplayer Online-Spiel

Installation und Start

Zuerst: Sehen Sie sich das Handbuch an, um die Workerman-Umgebung zu überprüfen/zu installieren

1. Laden Sie herunter: (Laden Sie web-msg-sender herunter und extrahieren Sie es in ein beliebiges Verzeichnis

2. Start: Linux-System-CD zum Framework-Verzeichnis und Ausführen von php start.php start -d. Gehen Sie zum Framework-Verzeichnis und doppelklicken Sie auf die Datei start_for_win.bat, um

zu starten. 3. Test: Browser-Zugriffsport http://ip:2123 oder http://domain name:2123, zum Beispiel http://workerman.net: 2123 wird in der Abbildung angezeigt: (Wenn darauf nicht zugegriffen werden kann, überprüfen Sie bitte die Server-Firewall und prüfen Sie, ob dies der Fall ist Ein Cloud-Server, eine Sicherheitsgruppe einrichten)

Front-End-Test:

<script src=&#39;http://cdn.bootcss.com/socket.io/1.3.7/socket.io.js&#39;></script>
<script>
    // 连接服务端,workerman.net:2120换成实际部署web-msg-sender服务的域名或者ip
    var socket = io(&#39;http://workerman.net:2120&#39;);
    // uid可以是自己网站的用户id,以便针对uid推送以及统计在线人数
    uid = 123;
    // socket连接后以uid登录
    socket.on(&#39;connect&#39;, function(){
    	socket.emit(&#39;login&#39;, uid);
    });
    // 后端推送来消息时
    socket.on(&#39;new_msg&#39;, function(msg){
        console.log("收到消息:"+msg);
    });
    // 后端推送来在线数据时
    socket.on(&#39;update_online_count&#39;, function(online_stat){
        console.log(online_stat);
    });
</script>

Back-End ruft die API auf, um sie an jeden Benutzer zu pushen:

<?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);

Bei Ausführung Unter Linux benötigen Sie möglicherweise die Posix- und PCNTL-Erweiterungen von PHP

WorkerMans Push wurde zu YII2 [Version 2.0] hinzugefügt

Das Obige ist der gesamte Inhalt dieses Artikels, ich hoffe, er wird hilfreich sein Für alle, die lernen, wird es hilfreich sein, weitere verwandte Inhalte zu finden. Schauen Sie sich bitte die chinesische PHP-Website an!

Verwandte Empfehlungen:

PHP-Datei- und Verzeichnisoperationen

So generieren Sie kurze Links in PHP

Das obige ist der detaillierte Inhalt vonSo fügen Sie eine Instant-Push-Funktion in PHP hinzu. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn