2012-04-19 21 views
2

私はsocket.ioでチュートリアルを取ることに過ごしましたが、圧倒的に少ない量のチュートリアルのために完全に立ち往生していました。 PHPページに変数を送り、情報を取得/表示するために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; 
?> 

だから基本的に私がやりたいこと全てがPHPのページへの私の記事のIDを送信するためのWebSocketを使用し、カウントを取得し、自動的にカウントを人投票として更新します。しかし、私はこれを達成する方法を見つけ出すことはできません。

ここに手を貸すことができるnode.js/socket.ioに慣れている人は誰ですか?

答えて

0

Node.jsとPHPサーバーは2つの独立したサーバーです。あなたができることは、PHPサーバからHTMLドキュメントを取得し、socket.ioを使用してそれをクライアントに送り返すことです。または、Webソケットからの入力に応じてページをリダイレクトすることができます。

クライアント(PHPではなくHTMLページ)にデータを送信する場合は、それがsocket.ioの目的です。人々が投票すると、(1)はカウントノードサーバへデータを送信

あなたは、このようにこれを行うことができ、 その後socket.ioを使用して更新投票数をブロードキャスト(あなたがPHPを呼び出して保存することができかもしれ投票数すぎ)は、ここで は

http = require('http'); 
var connection = http.createClient(8080, 'yourPhpServer/page'), 

あなたはだから私は、自動的に取得することはできませんhere

+0

からより多くのアイデアを得ることができます..あなたのノードサーバをwithing)あなたのPHPサーバ(ウェブページを呼び出す方法ですsocket.ioの投票数?私は定期的に投票数を得るために長いポーリングの代わりにsocket.ioを使用するように言われました... – Ian

+0

いいえ..あなたは間違っています。詳細を追加します –

+0

ありがとう、私は心配し始めています。私はこれで自分の時間を無駄にしています。 – Ian

関連する問題