ホームページ >バックエンド開発 >PHPチュートリアル >WebSocketをベースとしたWEBメッセージプッシュフレームワーク

WebSocketをベースとしたWEBメッセージプッシュフレームワーク

PHP中文网
PHP中文网オリジナル
2017-03-25 09:57:582312ブラウズ

WebSocket に基づく WEB メッセージ プッシュ フレームワーク

web-msg-sender は、WebSocket の長時間接続通信に基づいて、PHPSocket.IO を使用して開発された Web 長時間接続プッシュ フレームワークです。ブラウザが WebSocket をサポートしていない場合は、自動的に Comet Push に切り替わります。 バックグラウンドでメッセージをプッシュすることにより、ポーリングを行わずに、非常に優れたリアルタイム パフォーマンスと高いパフォーマンスでメッセージをクライアントに即座にプッシュできます。

機能:

マルチブラウザのサポート

単一ユーザーへのプッシュ メッセージのサポート

すべてのユーザーへのプッシュ メッセージのサポート

長時間の接続プッシュ (WebSocket または Comet)、メッセージは即座に到着

オンライン ユーザー数のリアルタイム統計表示をサポート

オンライン ユーザー数のリアルタイム統計表示をサポートオンライン ページの数

国境を越えたドメイン プッシュをサポート

ダウンロード

https://github.com/walkor/web-msg-sender

WEBメッセージ プッシュ フレームワーク

メッセージ受信ページ: http://www.workerman.net:2123/

プッシュ インターフェイス URL: http://www.workerman.net:2121/?type= public&to=uid&content=content
to はメッセージを受信する場所です。uid を空に渡すと、メッセージの内容が全員にプッシュされます。

Linux 環境のインストールと起動

。 1. web-msg-sender をダウンロードし、任意のディレクトリに解凍します

2. 以下に示すように、workermanphp start.php start -d を起動します。

3. ブラウザのアクセス ポート http://ip: 2123 または http://ドメイン名:2123 (例: http://workerman.net:2123): (アクセスできない場合は、サーバーのファイアウォールを確認してください)

フロントエンド テスト:

クロスドメイン プッシュをサポートします。開発者は、サーバーをセットアップせずに、オンライン プッシュ サービスを直接使用できます。たとえば、次のコードを任意のサイトに追加して、メッセージを受信し、コールバックを設定するだけです。統計の収集:

<script src=&#39;http://cdn.bootcss.com/socket.io/1.3.7/socket.io.js&#39;></script>
<script>
    // 连接服务端
    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>

バックエンドは API を呼び出して任意のユーザーにプッシュします:

<?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 );
$return = curl_exec ( $ch );
curl_close ( $ch );
var_export($return);

関連記事:

WeChat 開発メッセージ プッシュの実装スキル(コード付き)

.NET WeChat 開発自動コンテンツ返信コード例

Java で WebSocket を介したメッセージ プッシュを実装するための詳細な実装コード

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。