Je développe actuellement un client Windows à l'aide de Windows Form Application en collectant certaines données à partir de la machine Windows. Je dois envoyer ces données au serveur. Mais je ne sais pas quelle est la meilleure façon de le faire. Je suis actuellement en train d'essayer WCF Web Service pour obtenir des données et retourner vrai ou faux. Mais j'ai besoin d'apprendre le moyen le plus rapide d'envoyer des données au serveur. Le client doit être fiable et rapide. Quelles sont mes options ou la meilleure façon de le faire. Le serveur renvoie uniquement les données comme vraies ou fausses.Meilleure façon de publier le client de données sur le serveur C#
Répondre
je prendrais un coup d'œil à RhinoServiceBus. C'est rapide et assez facile à mettre en œuvre. Si vous n'aimez pas ça, j'utiliserais aussi la WCF.
Si j'avais une telle tâche, j'utiliserais aussi le service Web WCF.
La seule différence que je ferais: tapez void et throw exception en cas d'erreur.
Vous pouvez utiliser un protocole de transport réseau bas niveau basé sur des sockets comme TCP ou UDP, mais vous devez gérer vous-même la conversion et la sérialisation.
En C# vous pouvez utiliser les classes tcpclient et TcpListener et sérialiser vos objets avec une sorte de sérialiseur (BinaryFormatter dans cet exemple)
ServerCode:
...
TcpListener listener = new TcpListener(8080);
listener.Start();
using (TcpClient client = listener.AcceptTcpClient())
{
BinaryFormatter formatter = new BinaryFormatter();
//Assuming the client is sending an integer
int arg = (int)formatter.Deserialize(client.GetStream());
... //Do something with arg
formatter.Serialize(result); //result is your boolean answer
}
...
ClientCode:
...
using (TcpClient client = new TcpClient(ipaddress, 8080) //ipaddress is the ip address of the server
{
BinaryFormatter formatter = new BinaryFormatter();
formatter.Serialize(client.GetStream(), 12) //12 is an example for the integer
bool result = formatter.Deserialize(client.GetStream());
... //do something with result
}
...
Mais comme vous pouvez le voir, le plus rapide (UDP peut-être plus rapide, mais ne garantit pas l'envoi des données) n'est pas le plus facile (et pas toujours le meilleur).
Donc, pour un projet de formulaires de fenêtres je voudrais utiliser une sorte de "ready-made" API RMI/RPC comme les services Web WCF ou ASP.Net
Je dois savoir que les données sont envoyées et qu'un travail particulier est effectué. Je ne veux pas perdre de données. –
UDP ne garantit pas la livraison. TCP ajoute cette fonctionnalité. –
- 1. Comment un client peut-il publier des données de matrice binaire sur le serveur C#
- 2. Meilleure façon de publier des données JavaScript sur Rails
- 3. meilleure façon de télécharger de nombreuses bitmaps sur le serveur
- 4. Meilleure façon de synchroniser la base de données client avec la base de données du serveur
- 5. Quelle est la meilleure façon de passer des objets entre le serveur et le client?
- 6. Meilleure façon de fournir des graphiques sur le Web? Bibliothèque côté serveur ou côté client? HTML5?
- 7. Bluehost, Meilleure façon d'exécuter le serveur
- 8. La meilleure façon de publier des données binaires sur un site Web Scala playframework
- 9. Publier sur le serveur Tornado
- 10. Quelle est la meilleure façon de lire les données du serveur et de les afficher sur le navigateur client
- 11. La meilleure façon de publier sur Twitter via Java Application
- 12. Quelle est la meilleure façon de lancer le client exe?
- 13. La meilleure façon de stocker des données sur le côté client - ASP.Net + JQuery
- 14. La meilleure façon de gérer le serveur cross php inclut
- 15. Quelle est la meilleure façon de créer une application de chat client-serveur C# .NET?
- 16. Meilleure façon de stocker les données côté client
- 17. La meilleure façon de mettre à jour le site du serveur SVN sans client SVN sur le site en direct
- 18. Publier les données sur le serveur, puis analyser le code HTML C#
- 19. Meilleure stratégie de communication entre le client Android et le serveur .NET C#
- 20. (C++) Meilleure façon de sérialiser ma base de données de client?
- 21. Mono - code de partage sur le client et le serveur. .
- 22. Le client PHP communique avec le serveur C++ sur TCP
- 23. Traitement de données chez le client ou le serveur
- 24. Meilleure façon de synchroniser le code sur le serveur distant en utilisant SCP (SSH-Copy)
- 25. Meilleure façon de surveiller un serveur sur un port TCP
- 26. Publier des informations sur le serveur
- 27. La meilleure façon de recevoir des données du serveur
- 28. Meilleure façon d'interagir avec une application client/serveur via Internet?
- 29. Meilleure façon pour Flex de communiquer avec le backend C#?
- 30. Meilleure façon de stocker les données côté serveur?
Je pense que _RhinoServiceBus_ a besoin de _MSMQ_ et je ne peux pas installer _MSMQ_ avec _msi installer_. Connaissez-vous une bonne façon de le faire ou d'exécuter _RhinoServiceBus_ exécuter sans _MSMQ_ –
Cela résout mon problème. Merci. –