2010-06-03 10 views
1

Je cherche un moyen de mettre des fonctionnalités en temps réel sur mon site web.Site web en temps réel utilisant PHP ou ASP.NET

L'idée est une communication asynchrone entre 2 personnes - comme une session de discussion. Si j'utilise l'exemple du chat, j'aimerais que la deuxième personne sache que le premier lui a envoyé un message, sans actualiser ou faire quelque chose d'actif sur la page Web.

L'interrogation n'est pas une bonne idée ici - y a-t-il une autre solution? le back-end pourrait être ASP.NET ou PHP (ASP.NET préféré).

aide serait très apprécié,

Merci,

Roman

+1

http://fr.wikipedia.org/wiki/Comet_(programmation)? – jball

+0

merci - Je pense que cela pourrait résoudre le problème! – Roman

Répondre

0

Eh bien, PHP est pas vraiment adapté à la tâche. Mais là encore, ASP.net ne l'est pas non plus. La raison en est la façon dont le serveur (IIS/Apache) traite la demande. L'application (et la connexion) devra rester en vie jusqu'à ce qu'il y ait des données à envoyer. C'est TRÈS cher pour une demande unique par thread/processus.

Une option consiste à utiliser un serveur autonome pour les longues requêtes COMET d'interrogation. Python en a déjà un écrit: Tornado. Vous exécutez simplement ce programme (et écrivez le code pour envoyer les données au client) en tant que serveur Web (vous pouvez l'exécuter sur un port ou un proxy séparé, afin que les demandes régulières soient gérées par votre serveur Web principal).

+0

ohh, c'est un très bon point! Peut-être connaissez-vous une solution utilisant .NET? Je n'utilise pas vraiment Python et je devrais passer beaucoup de temps à l'apprendre. – Roman

+0

Eh bien, une recherche rapide google apparaît http://stackoverflow.com/questions/65673/comet-implementation-for-asp-net et http://www.codeproject.com/KB/aspnet/CometAsync.aspx – ircmaxell

+0

sont des exemples de projets ASP.NET open source: http://pokein.codeplex.com – Zuuum

0

Vous pouvez utiliser AJAX ... Il n'y a donc pas de différence si vous choisissez ASP.NET ou PHP.

+0

Pourriez-vous être un peu moins vague? Dernièrement, je vois des gens se référant à n'importe quoi à partir des demandes JSONP pour * faire glisser et déposer * comme AJAX. –

+0

En utilisant AJAX vous devez toujours interroger le serveur ce qui est ce qu'il a déclaré qu'il voulait éviter :( – Justin

+0

AJAX est juste Async JavaScript - il ne résout pas le problème. Toujours en utilisant l'interrogation ... merci bien :) – Roman

0

Vous voudrez peut-être vérifier COMET, par opposition à AJAX, pour quelque chose comme un système de discussion. C'est ce qui est utilisé par FriendFeed et d'autres pour éviter beaucoup de demandes d'interrogation.

J'ai trouvé this blog et this article qui parle avec ASP.NET

+0

merci - ressemble à ceci peut être un moyen ... :) bien que la plupart des techniques de COMET utilisent encore l'interrogation. – Roman

Questions connexes