Je veux savoir si il est possible de transférer des données à partir du serveur vers le client avec Node.js. De ce que je peux comprendre tout sur l'internet est que cela doit être possible, mais je n'arrive pas à trouver un exemple correct ou de la solution.
Ce que je veux, c'est un seul http post node.js avec l'AJAX. Que de laisser la connexion ouverte et continu de flux de données pour le client.
Le client recevra de ce flux et de mise à jour de la page en permanence.
Mise à jour 1
Une mise à jour de cette réponse: http://stackoverflow.com/questions/2558606/stream-data-with-node-js/2563459#2563459
J'ai essayé déjà et je l'ai essayé à nouveau après votre anser. Je ne peux pas obtenir que cela fonctionne. La réponse.écrire n'est pas l'envoyer avant d'appeler à proximité. J'ai mis en place un exemple de programme que j'utilise pour y parvenir.
Node.js code:
var sys = require('sys'),
http = require('http');
http.createServer(function (req, res) {
res.writeHead(200, {'Content-Type': 'text/html'});
var currentTime = new Date();
setInterval(function(){
res.write(
currentTime.getHours()
+ ':' +
currentTime.getMinutes()
+ ':' +
currentTime.getSeconds()
);
},1000);
}).listen(8000);
Voici le code html:
<html>
<head>
<title>Testnode</title>
</head>
<body>
<!-- This fields needs to be updated -->
Server time: <span id="time"> </span>
<!-- import jQuery from google -->
<script
type="text/javascript"
src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js">
</script>
<!-- import jQuery -->
<script type="text/javascript">
$(document).ready(function(){
// I call here node.localhost nginx ports this to port 8000
$('#time').load('http://node.localhost');
});
</script>
</body>
</html>
En utilisant cette méthode, je n'obtenez pas quelque chose de nouveau, jusqu'à ce que j'appelle close(). est-ce possible ou dois-je plutôt aller avec un long sondage approche où j'appelle la fonction de charge de nouveau comme l'un vient en.
j'ai vraiment plutôt souhaitez diffuser cette. J'espère que quelqu'un peut vous aider.