导航:首页 > 编程语言 > php推送消息到网页

php推送消息到网页

发布时间:2023-08-05 06:33:50

‘壹’ 如何编写网页代码实现:只要php接收到发送的post数据,就传给html页面的js内

使用jQuery 的AJAX 功能即可实现;

简单例子,先在html文件中引入 jquery。js 文件

在要显示返回内容的地方 定义一个ID 如 。<div id="myinfo"><!--返回数据在这里显示--></div>

functiondingshi(){
$.ajax({
type:"GET",
url:"php文件url",//文件路径
dataType:"html",//返回格式
success:function(data){
//data既是返回内容,格式或判断自行编写
$('#myinfo').html(data);
});
}

在用一个定时器,定时执行这个函数即可如

setInterval("dingshi()",1000);//每隔1秒执行一次

‘贰’ PHP如何接收动态数据保存并实时显示到网页上

头部加上超时控制,但对于很多服务器无效,因为服务器输出超时很多在服务器控制,所以建议用cmd脚本方式运行此程序:

<?php
set_time_limit(0); //禁用脚本超时
//Createthesocketandconnect
$socket=socket_create(AF_INET,SOCK_STREAM,SOL_TCP);
$connection=socket_connect($socket,'116。236。128。220',14580);
//Writesometestdatatooursocket
if(!socket_write($socket,"userNoCallpass-1verstest1.0filterb/B* "))
{
echo("<p>Writefailed</p>");
}

if(!file_exists('socket_log.html')){
file_put_contents('socket_log.html','<script>
varxx=setInterval(function(){ //每5秒刷新一次页面
window.location.reload();
},5000);
</script>');
}

//Readanyresponsefromthesocket
while($buffer=socket_read($socket,64,PHP_NORMAL_READ))
{
echojson_encode($buffer);//转换为json数据输出
//记入文件
file_put_contents('socket_log.html',json_encode($buffer),FILE_APPEND);
}
echo("<p>DoneReadingfromSocket</p>");

使用方法:用命令行方式运行此脚本

phpscript.php

脚本会一直运行到接收数据结束,并持续将收到的数据写入socket_log.html文件。

在浏览器打开socket_log.html页面,此页面会自动每5秒刷新一次,来显示最新的数据。

确保程序有权限创建及写入socket_log.html文件

‘叁’ php实现websocket实时消息推送

一、socket协议的简介

WebSocket是什么,有什么优点

WebSocket是一个持久化的协议,这是相对于http非持久化来说的。应用层协议

举个简单的例子,http1.0的生命周期是以request作为界定的,也就是一个request,一个response,对于http来说,本次client与server的会话到此结束;而在http1.1中,稍微有所改进,即添加了keep-alive,也就是在一个http连接中可以进行多个request请求和多个response接受操作。然而在实时通信中,并没有多大的作用,http只能由client发起请求,server才能返回信息,即server不能主动向client推送信息,无法满足实时通信的要求。而WebSocket可以进行持久化连接,即client只需进行一次握手,成功后即可持续进行数据通信,值得关注的是WebSocket实现client与server之间全双工通信,即server端有数据更新时可以主动推送给client端。

二、介绍client与server之间的socket连接原理

1、下面是一个演示client和server之间建立WebSocket连接时握手部分

2、client与server建立socket时握手的会话内容,即request与response

a、client建立WebSocket时向服务器端请求的信息

GET /chat HTTP/1.1
Host: server.example.com
Upgrade: websocket //告诉服务器现在发送的是WebSocket协议
Connection: Upgrade
Sec-WebSocket-Key: x3JJHMbDL1EzLkh9GBhXDw== //是一个Base64 encode的值,这个是浏览器随机生成的,用于验证服务器端返回数据是否是WebSocket助理
Sec-WebSocket-Protocol: chat, superchat
Sec-WebSocket-Version: 13
Origin: http://example.com

b、服务器获取到client请求的信息后,根据WebSocket协议对数据进行处理并返回,其中要对Sec-WebSocket-Key进行加密等操作

HTTP/1.1 101 Switching Protocols
Upgrade: websocket //依然是固定的,告诉客户端即将升级的是Websocket协议,而不是mozillasocket,lurnarsocket或者shitsocket
Connection: Upgrade
Sec-WebSocket-Accept: HSmrc0sMlYUkAGmm5OPpG2HaGWk= //这个则是经过服务器确认,并且加密过后的 Sec-WebSocket-Key,也就是client要求建立WebSocket验证的凭证
Sec-WebSocket-Protocol: chat

3、socket建立连接原理图:

三、PHP中建立websocket的过程讲解
SocketService.php:

web.html:

‘肆’ PHP中怎样发送post请求并获取网页

$post='POST数据';
//初始化
$curl=curl_init('URL');
$header=array();
$header[]='User-Agent:Mozilla/5.0(WindowsNT6.1)AppleWebKit/537.36(KHTML,likeGecko)Chrome/42.0.2311.90Safari/537.36';
curl_setopt($curl,CURLOPT_HTTPHEADER,$header);
//不输出header头信息
curl_setopt($curl,CURLOPT_HEADER,0);
//保存到字符串而不是输出
curl_setopt($curl,CURLOPT_RETURNTRANSFER,1);
//post数据
curl_setopt($curl,CURLOPT_POST,1);
//请求数据
curl_setopt($curl,CURLOPT_POSTFIELDS,$post);
//是否抓取跳转后的页面
curl_setopt($curl,CURLOPT_FOLLOWLOCATION,1);
$response=curl_exec($curl);
curl_close($curl);
echo$response;

‘伍’ php如何编写一个微信公众平台的消息推送

给你个代码样例不可以直接复制使用

/**
*发送模板消息
*@param$tmpId模板ID
*@param$openId用户openID
*@param$param模板参数
*@param$url
*@returnmixed
*@authorfjlhuman
*/
publicfunctionsendTmpMessage($tmpId,$openId,$param,$url){

$postUrl="https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=".$this->accessToken;

$arrData['touser']=$openId;
$arrData['template_id']=$tmpId;//'6OT8DDNF-CbiadTsbEKKSCZVHe_9hnhxOBT7EvURNcE';
$arrData['url']=$url;
$arrData['data']=$param;

$json=json_encode($arrData);
$result=Curl::post($postUrl,$json);

$result=json_decode($result,true);

$rData['isTure']=false;
$rData['msg']="";

if($result['errcode']==0){
$rData['isTure']=true;
$rData['msg']="发送成功";
}else{
$rData['msg']=$result['errcode'];
}
return$rData;

}

详情请参考微信公众平台技术文档->模板消息接口

‘陆’ PHP怎么实现主动向客户端发送信息

实现消息推送首先需要浏览器支持 websocket 协议,这是前提,然后再通过浏览器发起websocket 请求到服务器,建立一条连接,这是服务器端就可以通过这条连接向浏览器推送消息了。

服务器端对websocket的支持可以通过一些第三方库来实现,供参考

  1. hoa/websocket网页链接

  2. swoole 库

‘柒’ php 怎么使用websocket推送消息

我使用的工具是基于wokman的web-msg-sender是一款web长连接推送框架,采用PHPSocket.IO开发,基于WebSocket长连接通讯,如果浏览器不支持WebSocket则自动转用comet推送。 通过后台推送消息,消息可以即时推送到客户端,非轮询,实时性非常好,性能很高。

下载和demo地址http://www.workerman.net/web-sender

这里面区分服务端和客户端,去上面地址下载源代码,放到你服务端。使用相关命令开启服务。

其中有一个文件是start_io.php,这个文件算是核心,里面有怎么发送socket消息的代码,也会有监控用户上下线的接口,在这个地方可以根据业务需要拓展自己的代码需求。类似:用户在socket检测用户上下线的是时候,可以http请求到自己的api层

下面我贴一下我的代码

这个地方明确表明了监听端口,websocket跟api在同一个服务器上面,所以用了0.0.0.0,所以你在http服务端如果想发消息给客户端,只需要发送到这个端口上面,socket自动会监听到发送给客户端。

阅读全文

与php推送消息到网页相关的资料

热点内容
吧杂志解压密码 浏览:835
风险普查app如何绘图 浏览:559
钢制防火卷帘加密喷头 浏览:379
安卓手机文件怎么转到旧苹果手机 浏览:601
2015肖秀荣pdf 浏览:396
如何给手机的卡包加密 浏览:441
安卓微信如何更换铃声 浏览:599
程序员谈判场在哪里 浏览:413
山东有线服务器中断云主机 浏览:472
java截取文件名 浏览:463
jquery教程pdf 浏览:164
三略pdf 浏览:584
spiflash单片机 浏览:11
阿里云的域名怎么解析到国外服务器 浏览:299
app客户端开发用什么服务器 浏览:293
台湾人能备案云服务器吗云空间 浏览:468
程序员小哥哥都喜欢动漫 浏览:374
如何用免费亚马逊云搭建服务器 浏览:665
php评论功能实现代码 浏览:526
犀牛中移动物件命令 浏览:788