2011-01-19 6 views
2

J'ai vraiment besoin de votre aide pour cela. Nous prévoyons de développer une application web en temps réel. Nous regardons différentes bibliothèques et concepts et un peu confus. Ce dont nous avons besoin, c'est que les clients se connectent à des sites Web et envoient des données (généralement un nombre entier + nom de machine client) quand ils le veulent (généralement 1 à 5 secondes). De même, les mêmes clients doivent recevoir des données (les données reçues d'autres clients) du serveur en mode temps réel. (maximum 0,5 seconde). En outre, ces données doivent être stockées dans la base de données.Application Web en temps réel

Nous pensions utiliser différentes technologies, mais nous ne pouvons pas décider lequel utiliser. Nous avons besoin que cette application Web soit prise en charge sur Iphones et téléphones Android (peut-être BlackBerry). et, bien sûr, les navigateurs de bureau.

La mise en pool ne semble pas une très bonne idée dans cette situation, en raison des charges élevées.

Html 5 sockets Web un peu nouveau, et probablement pas pris en charge par tous les navigateurs.

Quelqu'un a-t-il utilisé nodejs? ou matrice torsadée: http://twistedmatrix.com/trac/? ou orbited (impossible de publier plus d'un lien)? ou tornade? Ou XMPP (Jabber, je n'ai pas trouvé de bons exemples.)? ou autre chose?

Quelle technologie est la meilleure à utiliser dans ce type de projet? En outre, nous préférerions probablement la technologie qui a un certain soutien de la communauté et libre d'utiliser.

Merci beaucoup!

Répondre

0

Il y a beaucoup de choses à considérer ici. Je dirais que HTML 5 n'est pas une option, simplement en raison du soutien à travers la plate-forme.

L'exécution avec NodeJS est probablement possible, mais les méthodes de communication sont vraiment compliquées. Pousser des données vers une page n'est pas vraiment quelque chose que les applications HTML/Web sont conçues pour faire ....

Pour obtenir une réponse valide, vous aurez besoin d'avoir quelqu'un pour venir et s'asseoir avec vous pour vraiment repasser sur les détails et la mise en œuvre.

+0

D'accord, et ne pas mélanger les protocoles de couche d'application (HTTP, XMPP, etc) avec leurs implémentations (TwistedWeb, NodeJS, Tornado). –

+0

Oui, je sais que j'ai un peu mélangé. Je sais que les applications Web sont conçues pour le faire. Je connais tous les détails du projet. Cela semble assez simple, si nous trouvons une technologie appropriée. – user194076

0

Quel type de données? Quel est le but?

En temps réel, vous n'obtiendrez pas de site Web à moins d'utiliser un type de RIA, mais même dans ce cas, cela ne suffira pas. Les services ne seront pas assez bons non plus. Vous allez finir par faire un type d'interrogation qui ne sera jamais en temps réel que si vous faites le mode duplex qui ne sera pas supporté sur la plupart des plates-formes que vous voulez supporter.

les prises sont la solution, mais cela nécessite un client pour chaque plate-forme que vous souhaitez gérer. Peut-être que vous devriez repenser vos exigences.

+0

Données: entiers, chiffres. but: c'est comme une enchère très rapide. Quelqu'un fixe le prix d'un article et d'autres personnes font une offre. Il devrait être très très rapide (lire en temps réel) – user194076

+0

pseudo-temps réel est très bien avec moi.Qui se soucie comment il s'appelle? Donc, il n'y a pas d'autre choix que la mise en commun? Qu'en est-il des différents protocoles comme: XMPP. Est-ce encore un standard? – user194076

+0

va encore finir par utiliser des sockets (temps réel) ou interroger (pseudo-temps réel). Vous devez être en mesure de garder une connexion ouverte (créée à partir du client) que le client/serveur peut envoyer des données ou le client doit envoyer des pings pour voir s'il y a quelque chose qu'il doit obtenir du serveur. Vous devez prendre en compte la sécurité, vous ne pouvez pas envoyer de données à un client. Si c'était juste mobile, je dirais utiliser l'infrastructure push (je sais WP7 l'a, ne sais pas à propos de Android ou iPhone). Garder les sockets ouvertes sur Internet n'est pas une bonne idée et pourrait ne pas être supporté par les appareils mobiles. L'interrogation est la plus sûre. –

0

Lorsque vous dites que les clients se connectent à un site Web, en avez-vous vraiment besoin pour être un site Web? Il semble que tout ce que le client envoie est un numéro et pour cela vous n'avez pas besoin d'un site web. Il suffit de choisir la langue de votre choix, ouvrir une prise, et partir de là.

Diffusez-vous des données à visualiser? Vous pouvez jeter un oeil à graphite (et/ou "pyped" qui fait partie du graphite).

+0

Mais quelle est l'autre façon que l'application web? Nous ne voulons pas que quiconque installe quoi que ce soit sur leurs appareils. Mais nous avons encore besoin d'une application web pour l'administrateur. – user194076

+0

@ user194076: Je ne suis pas sûr de comprendre la question. Si vous avez besoin d'une interface d'administration, vous aurez besoin d'un serveur web pour cela, mais pour le serveur qui accepte et fournit des données en temps réel, vous n'avez pas besoin d'un serveur web. Un serveur Web n'est que l'un des nombreux types de serveurs que vous pouvez utiliser, et si vous ne faites que renvoyer des numéros et des noms de clients, vous n'avez pas besoin de la surcharge d'un serveur Web pour cela. –