2010-12-12 8 views
1

Je fais une application de journalisation et je veux juste envoyer des choses. En ce moment, j'utilise HttpWebRequest et Stream pour envoyer un message à mon serveur web afin que je puisse observer les statistiques en ligne.Comment envoyer des choses à l'internett?

Cependant, et très souvent, l'envoi des données expire et cela gâche mon application totalement comme il fait des choses dans une action Forms.Timer tick.

Existe-t-il un autre moyen d'envoyer des choses sur le net? Je ne m'inquiète pas vraiment si elle obtient thru ou pas et de recevoir une réponse, je veux juste pousser des données à mon script php: D

+2

Je pense que vous avez juste à gérer des cas d'erreur comme ça. Toutes sortes de problèmes peuvent se produire lorsque vous utilisez des services externes. – Rup

+0

Postez votre code, ça devrait marcher. – thejh

+4

"Comment envoyer des choses à l'internett?" devrait être un mème SO. – Robaticus

Répondre

2

UDP est conçu pour cela. Il peut perdre ou réorganiser les paquets et n'a pas besoin de réponse du serveur.

Mais je ne sais pas si vous pouvez (ou voulez) créer un serveur UDP en php.

Une alternative est d'avoir un thread qui fait l'envoi. Et les autres threads ne font que mettre en file d'attente les entrées de journal dans une file d'attente thread-safe vidée par le thread expéditeur.

+0

Ceci. Http n'est pas un protocole de livraison garanti, fin de l'histoire. – annakata

+0

pense que la meilleure façon de s'y prendre est de le faire dans un fil séparé – Jason94

1

Sur votre site Web, vous pouvez héberger un service web et à partir du client WinForms vous pouvez appeler asynchrone le webservice pour envoyer vos données, de cette façon l'application ne bloquera pas.

Questions connexes