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

<?php//Createthesocketandconnect$socket=socket_create(AF_INET,SOCK_STREAM,SOL_TCP);$c... <?php
// Create the socket and connect
$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
$connection = socket_connect($socket,'116。236。128。220', 14580);
// Write some test data to our socket
if(!socket_write($socket, "user NoCall pass -1 vers test 1.0 filter b/B* \r\n"))
{
echo("<p>Write failed</p>");
}
// Read any response from the socket
while($buffer = socket_read($socket, 64, PHP_NORMAL_READ))
{
echo json_encode($buffer); //转换为json数据输出
}
echo("<p>Done Reading from Socket</p>");
?>

上面的代码是连接服务器登录的,登录后服务器会不停的发送数据过来,请问如何接收服务器发过来的数据并保存到数据或文件中,并实时在网页显示出来,就是有数据来就显示有数据来就显示
展开
 我来答
梦烦月
2014-08-26 · 超过26用户采纳过TA的回答
知道答主
回答量:32
采纳率:0%
帮助的人:58.5万
展开全部

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

<?php
set_time_limit(0); //禁用脚本超时
// Create the socket and connect
$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
$connection = socket_connect($socket,'116。236。128。220', 14580);
// Write some test data to our socket
if(!socket_write($socket, "user NoCall pass -1 vers test 1.0 filter b/B* \r\n"))
{
echo("<p>Write failed</p>");
}

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

// Read any response from the socket
while($buffer = socket_read($socket, 64, PHP_NORMAL_READ))
{
echo json_encode($buffer); //转换为json数据输出
//记入文件
file_put_contents('socket_log.html', json_encode($buffer), FILE_APPEND);
}
echo("<p>Done Reading from Socket</p>");

 

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

php script.php

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

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

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

追问
如果用CMD方式运行,能给出代码么?
如果要写入数据库怎样处理呢?一行一个数据。
谢谢
追答

以windows下CLI运行php脚本为例:

找到你的php.exe的路径,比如我的是"D:\Winginx\php5\php.exe";

打开控制台(开始——运行——cmd)

在控制台上黏贴或输入php.exe的路径+空格+php脚本文件的路径,比如

D:\Winginx\php5\php.exe D:\PhpScript\test.php

回车即可。注意有脚本内有中文输出时,脚本要保存为GBK\GB2312编码,不然在cmd下会乱码。


至于数据库读写数据,你百度一下“PHP Mysql”或者“PHP SQLite”即可,教程有很多,我就不粘贴了。

那眼望少暖过堡1T
2015-09-29 · 超过16用户采纳过TA的回答
知道答主
回答量:57
采纳率:0%
帮助的人:35.6万
展开全部
利用ajax发送请求,返回json数组,然后动态创建
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式