このすべてのプッシュ通知がどのように機能するかを理解しようとしています。プッシュ技術のテストを試みましたが、これまでのところ失敗しました。
基本的な仮定は次のとおりです:
1) Apache Web サーバーをメインアプリケーションの Web サーバーとして使用する (すべてのコードがそれを使用しているため必須)
2) node.js テクノロジーのクロスブラウザープッシュ通知サーバー (socket.io が提供されているため、クロスブラウザ)。
これまでのところ失敗しましたが、ここに私のコード(p1.html)があります:
<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<title>P1</title>
</head>
<body>
<h1>P1</h1>
<section id="content"></section>
<script src="/socket.io.js"></script> <!--socket.io-->
<script src="/socket.js"></script> <!--socket.io-client-->
<script src="http://code.jquery.com/jquery-1.7.1.min.js"></script>
<script>
var socket = io.connect('http://localhost:8080');
socket.on('notification', function (data) {
$('#content').append(data.message + '<br>')
});
</script>
</body>
</html>
そして私のサーバースクリプト(p1.js):
var app = require('http').createServer(handler)
, io = require('socket.io').listen(app)
, url = require('url')
app.listen(8080);
console.log("creating a connection");
io.sockets.on( 'connection', function ( socket ) {
console.log("runing time");
sendTimeMessage(socket);
});
function sendTimeMessage(socket){
console.log("in time");
var time= new Date().getTime();
console.log(time);
socket.volatile.emit( 'notification' , time );
setTimeout(sendTimeMessage, 5000);
}
function handler (req, res) {
res.writeHead(200, {'Content-Type': 'text/plain'});
res.end("");
}
function sendMessage(message) {
io.sockets.emit('notification', {'message': message});
}
- 例の IP をローカル ホストに変更したので、構文に誤りがないことを願っています。
- 私が実行すると、Apache Webサーバーがデータを表示するものであり、socket-ioがいくつかのフィールドを更新するという考えです。
現在の状態:
1. socket.io-client js ファイルを追加しないと、socket.io-client の参照エラーが発生します
2. socket.io-client を追加すると、"ReferenceError: require is not defined [このエラーで中断] 'undefined' != typeof io ? io : module.exports
私はそれを理解し、それを機能させるのに本当に助けが必要です。私はまた、これを実現するために本当に助けが必要な代替ソリューションに対しても心を開いています.