⑴ JAVA后台 关于如何从后台传递信息在jsp前端
一般使用两种方式,一种是servlet的转发或重定向跳转页面,并将信息携带过去,另一种方式是ajax请求后台接口,后台接口进行处理之后将信息返回给接口调用者。
⑵ 网站后台如何主动将信息推送到网站前台或者说网站前台如何实时知道网站后台的数据被更新了
ajax技术
⑶ 前端消息推送怎么实现
前端消息推送主要有两种方式:1、轮询方式(PULL):主动去拉取消息,客户端和服务器定期的建立连接,通过消息队列等方式来获取是否有新的消息。
2、长连接方式(PUSH):它是基于TCP长连接实现,客户端和服务器建立TCP长连接之后,客户端定期向服务器发送心跳包用于保持连接,有消息的时候,服务器直接通过这个已经建立好的TCP连接通知客户端。
目前应用最为广泛的第三方推送服务提供商包括极光等第三方服务,绝大部分APP都会优先考虑采用第三方推送服务。
实现前端端消息推送可以选择极光,极光是中国领先的开发者服务提供商,专注于为开发者提供稳定高效的消息推送、一键认证以及流量变现等服务,助力开发者的运营、增长与变现。同时,极光的行业应用已经拓展至市场洞察、金融风控与商业地理服务,助力各行各业优化决策、提升效率。
⑷ 如何在php后端及时推送消息给客户端
后端代码
push.php
<?php
use Workerman\Worker;
require_once './Workerman/Autoloader.php';
// 初始化一个worker容器,监听1234端口
$worker = new Worker('websocket://0.0.0.0:1234');
// 这里进程数必须设置为1
$worker->count = 1;
// worker进程启动后建立一个内部通讯端口
$worker->onWorkerStart = function($worker)
{
// 开启一个内部端口,方便内部系统推送数据,Text协议格式 文本+换行符
$inner_text_worker = new Worker('Text://0.0.0.0:5678');
$inner_text_worker->onMessage = function($connection, $buffer)
{
global $worker;
// $data数组格式,里面有uid,表示向那个uid的页面推送数据
$data = json_decode($buffer, true);
$uid = $data['uid'];
// 通过workerman,向uid的页面推送数据
$ret = sendMessageByUid($uid, $buffer);
// 返回推送结果
$connection->send($ret ? 'ok' : 'fail');
};
$inner_text_worker->listen();
};
// 新增加一个属性,用来保存uid到connection的映射
$worker->uidConnections = array();
// 当有客户端发来消息时执行的回调函数
$worker->onMessage = function($connection, $data)use($worker)
{
// 判断当前客户端是否已经验证,既是否设置了uid
if(!isset($connection->uid))
{
// 没验证的话把第一个包当做uid(这里为了方便演示,没做真正的验证)
$connection->uid = $data;
/* 保存uid到connection的映射,这样可以方便的通过uid查找connection,
* 实现针对特定uid推送数据
*/
$worker->uidConnections[$connection->uid] = $connection;
return;
}
};
// 当有客户端连接断开时
$worker->onClose = function($connection)use($worker)
{
global $worker;
if(isset($connection->uid))
{
// 连接断开时删除映射
unset($worker->uidConnections[$connection->uid]);
}
};
// 向所有验证的用户推送数据
function broadcast($message)
{
global $worker;
foreach($worker->uidConnections as $connection)
{
$connection->send($message);
}
}
// 针对uid推送数据
function sendMessageByUid($uid, $message)
{
global $worker;
if(isset($worker->uidConnections[$uid]))
{
$connection = $worker->uidConnections[$uid];
$connection->send($message);
return true;
}
return false;
}
// 运行所有的worker(其实当前只定义了一个)
Worker::runAll();
启动后端服务
php push.php start -d
前端接收推送的js代码
var ws = new WebSocket('ws://127.0.0.1:1234');
ws.onopen = function(){
var uid = 'uid1';
ws.send(uid);
};
ws.onmessage = function(e){
alert(e.data);
};
后端推送消息的代码
// 建立socket连接到内部推送端口
$client = stream_socket_client('tcp://127.0.0.1:5678', $errno, $errmsg, 1, STREAM_CLIENT_CONNECT|STREAM_CLIENT_PERSISTENT);
// 推送的数据,包含uid字段,表示是给这个uid推送
$data = array('uid'=>'uid1', 'percent'=>'88%');
// 发送数据,注意5678端口是Text协议的端口,Text协议需要在数据末尾加上换行符
fwrite($client, json_encode($data)."\n");
// 读取推送结果
echo fread($client, 8192);
这里的uid不一定是用户的id,也可以理解为任务id即 taskid
⑸ java如何推送消息给前端
Java服务器推送消息给前端主要方法:Java有两个接口:
1、"/subscribe"接口:用于消息订阅,该接口有一个参数topic,即订阅的消息主题。
2、"/publish"接口:发布消息接口,有两个参数,topic是发布消息主题,content是发布消息内容。
用户还可考虑使用用极光推送,JPush 提供四种消息形式:通知,自定义消息,富媒体和本地通知。
1、通知,或者说 Push Notification,即指在手机的通知栏(状态栏)上会显示的一条通知信息。 通知主要用来达到提示用户的目的,应用于新闻内容、促销活动、产品信息、版本更新提醒、订单状态提醒等多种场景;
2、自定义消息:自定义消息不是通知,所以不会被 SDK 展示到通知栏上。其内容完全由开发者自己定义。 自定义消息主要用于应用的内部业务逻辑。一条自定义消息推送过来,有可能没有任何界面显示。
3、富媒体:JPush 支持开发者发送图文并茂的通知,从而更好的传达信息,带来更丰富的用户互动。 JPush 提供了 5 种模板,开发者可以通过填充模板的内容,发送 landing page、弹窗、信息流形式的富媒体通知。 开发者还可以直接通过 URL 发送预先编辑好的页面。
4、本地通知:本地通知 API 不依赖于网络,无网条件下依旧可以触发;本地通知的定时时间是自发送时算起的,不受中间关机等操作的影响。 本地通知与网络推送的通知是相互独立的,不受保留最近通知条数上限的限制。
极光推送还可以通过使用标签,别名,Registration ID 和用户分群,开发者可以向特定的一个或多个用户推送消息。
⑹ 前端 消息推送是怎么实现的
主要介绍其中的五种实现方式:短轮询、Comet、Flash XMLSocket、Server-sent、WebSocket1、短轮询
指在特定的的时间间隔(如每10秒),由浏览器对服务器发出HTTP request,然后由服务器返回最新的数据给客户端的浏览器。浏览器做处理后进行显示。无论后端此时是否有新的消息产生,都会进行响应
2、Comet
包括了长轮询和长连接,长轮询是客户端向服务器发送Ajax请求,服务器接到请求后hold住连接,直到有新消息才返回响应信息并关闭连接,客户端处理完响应信息后再向服务器发送新的请求;长连接是在页面中的iframe发送请求到服务端,服务端hold住请求并不断将需要返回前端的数据封装成调用javascript函数的形式响应到前端,前端不断收到响应并处理
3、Flash XMLSocket
在 HTML 页面中内嵌入一个使用了 XMLSocket 类的 Flash 程序。JavaScript 通过调用此 Flash 程序提供的socket接口与服务器端的socket进行通信。JavaScript 在收到服务器端以 XML 格式传送的信息后可以很容易地控制 HTML 页面的内容显示
4、Server-sent
服务器推指的是HTML5规范中提供的服务端事件EventSource,浏览器在实现了该规范的前提下创建一个EventSource连接后,便可收到服务端的发送的消息,实现一个单向通信。客户端进行监听,并对响应的信息处理显示
5、WebSocket
WebSocket是HTML5下一种新的协议,是基于TCP的应用层协议,只需要一次连接,便可以实现全双工通信,客户端和服务端可以相互主动发送消息。客户端进行监听,并对响应的消息处理显示
针对自己系统的应用场景选择合适的推送方案才是合理的,因此最后简单说一下实现个性化推送的两种方式。第一种很简单,直接使用第三方实现的推送,无需复杂的开发运维,直接可以使用。第二种就是自己封装,可以选择如今较为火热的WebSocket来实现系统的推送。
关于第三方推送平台,极光推送,操作简单,稳定性高,送达率快
⑺ java后台消息推送到前台的问题
如何推送到前台页面?
用Ajax就可以了啊,记录现在答题的题号,如果正确,则查出下一题号对应的题目,print到页面就可以了!!
控制所有用户同时跳转页面
这个还真不清楚,严重关注!
⑻ PHP怎么从后端及时向前段发出提示
使用http协议的话只能是前端主动向后端发请求。后端不能主动向前端发送提示。要及时得到后台的状态,只能用长轮询,就是前端定时向后台请求数据……或者HTML5有个websocket可以双向通信,题主可以查查。。。