2009-11-21 5 views
2

Je travaille actuellement sur un projet qui agira comme un site de vente en ligne tel que Amazon, ou Ebay à très petite échelle. Je me demandais si quelqu'un pouvait me pointer dans la bonne direction sur la façon d'utiliser Timers pour C++. Apprendre la Programmation Socket en ce moment, et essayait d'incorporer la minuterie pour le temps de vente aux enchères quand quelqu'un vend leur produit.Question sur C++ Timers

Merci

+0

Je ne suis pas sûr que ce soit le meilleur modèle. Que se passe-t-il lorsque le courant est coupé au milieu d'une vente aux enchères? Que se passe-t-il lorsque vous devez tuer votre démon pour maintenance au milieu d'une enchère? Il y a probablement beaucoup plus de circonstances comme celle-ci. Vous seriez probablement mieux servi pour écrire l'heure de fin dans une base de données et chaque minute, lancez un script avec Cron (ou quelque chose de similaire) pour traiter les enchères qui ont pris fin. –

Répondre

3

Tu veux dire comme timer_create?

Comment manipulez-vous vos prises? Threads ou select? Si ce dernier (ou quelque chose comme select), timer_create sera un ajustement naturel.

+0

Oui j'utilise Select, Merci beaucoup ^^ –

3

C++ n'a pas de minuterie intégrée. Les bibliothèques que vous êtes prêt à utiliser font vraiment la différence dans votre réponse.

Les systèmes d'exploitation auront des minuteries intégrées, d'autres bibliothèques comme Boost (mentionné dans une autre réponse), ou des toolkits comme Qt ou des systèmes d'exécution comme .NET auront également des minuteurs disponibles.

Je vous recommande de décrire votre environnement plus en détail avant de passer à autre chose.

Qu'utilisez-vous pour les Sockets? Si c'est une API relativement bien connue, il y aura probablement une implémentation de minuterie. note de côté: Vous voudrez également regarder dans les discussions à utiliser pour vos prises.

+0

C++ ne peut pas avoir de minuterie, mais POSIX (voir ma réponse). –

+0

@John Zwinck Yup, c'était mon point. Il n'a pas décrit ce qu'il utilisait pour coder. Vous avez deviné correctement. Navigator n'a pas fait. –