所以我花了一天时间在socket.io上学习教程,我发现自己完全陷入困境,因为那里的教程数量非常少。我想使用socket.io将变量发送到PHP页面并检索/显示信息。
超级简单的app.js(socket.io服务器)
var io = require('socket.io').listen(8000);
io.sockets.on('connection', function (socket) {
socket.on('message', function () { });
socket.on('disconnect', function () { });
});
超级简单的socket.io索引页。
<script>
var socket = io.connect('http://localhost/');
socket.on('connect', function () {
socket.send('hi');
socket.on('message', function (msg) {
// my msg
});
});
</script>
我希望将信息发送给...
的php文件<?php
$hostname = 'localhost';
$username = 'root';
$password = 'root';
$database = 'database';
try {
$dbh = new PDO("mysql:host=$hostname;dbname=$database", $username, $password);
$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$stmt = $dbh->prepare("SELECT * FROM comments WHERE pid = :pid");
$pid = $_GET['pid'];
$stmt->bindParam(':pid', $pid, PDO::PARAM_STR);
$stmt->execute();
$result = $stmt->fetchAll();
}
catch(PDOException $e)
{
echo $e->getMessage();
}
$stmt->execute();
echo $stmt->rowCount();
$dbh = null;
?>
基本上我想做的就是使用websocket将我的帖子的id发送到PHP页面并检索计数,在人们投票时自动更新计数。然而,我无法找到(或弄清楚)如何实现这一目标。
任何熟悉node.js / socket.io的人都可以帮我一把吗?
答案 0 :(得分:0)
Node.js和您的PHP服务器是两个独立的服务器。你可以做的是从PHP服务器获取HTML文档,并使用socket.io将其发送回客户端。或者可以根据来自Web套接字的输入重定向页面。
如果要将一些数据发送到客户端(HTML页面,而不是PHP)那么这就是socket.io的目的。
你可以这样做,
当人们投票时,将数据发送到节点服务器(+1)计数, 然后使用socket.io广播更新的投票计数(也许你可以调用PHP并保存投票数), 以下是如何使用节点服务器调用网页(您的PHP服务器)..
http = require('http');
var connection = http.createClient(8080, 'yourPhpServer/page'),
您可以从here
获得更多想法