现在介绍一个PHPSocketIO框架。
支持针对单个用户推送消息
支持向所有用户推送消息
长连接推送(websocket或者comet),消息即时到达
支持在线用户数实时统计展示
支持在线页面数实时统计展示
支持跨域推送
前端
// 连接服务端
var socket = io('http://'+document.domain+':2120');
// 连接后登录
socket.on('connect', function(){
socket.emit('login', uid);
});
// 后端推送来消息时
socket.on('new_msg', function(msg){
$('#content').html('收到消息:'+msg);
$('.notification.sticky').notify();
});
// 后端推送来在线数据时
socket.on('update_online_count', function(online_stat){
$('#online_box').html(online_stat);
});后端向所有用户推送<?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);如果有兴趣可以去http://www.bestmx.top/home/article/index/aid/31下载DEMO试试。 最佳答案