Communiquer avec une prise.serveur io via c#
y a-t-il un client c# qui suit la socket.protocole io? J'ai une prise.serveur io qui communique avec une socket.io client javascript via un site Web, mais j'ai aussi besoin de connecter un c# pièce à celui-ci qui peut envoyer et recevoir des messages. Est-il un moyen propre de faire cela actuellement ou devrai-je écrire mon propre client.
4 réponses
il y a un projet sur codeplex ( NuGet ainsi ) qui est un client C# pour socket.io. (Je suis l'auteur de ce projet - donc je suis partial) Je n'ai pas pu trouver exactement ce dont j'avais besoin chez un client, donc je l'ai construit et je l'ai remis à l'air libre.
exemple de style client:
socket.On("news", (data) => {
Console.WriteLine(data);
});
utilisez la bibliothèque suivante: https://github.com/sta/websocket-sharp Il est disponible via NuGet:
PM> Install-Package WebSocketSharp -Pre
pour se connecter à une Socket.IO 1.0 + server, utilisez la syntaxe suivante:
using (var ws = new WebSocket("ws://127.0.0.1:1337/socket.io/?EIO=2&transport=websocket"))
{
ws.OnMessage += (sender, e) =>
Console.WriteLine("New message from controller: " + e.Data);
ws.Connect();
Console.ReadKey(true);
}
en d'autres termes, ajoutez ceci à la socket localhost:port -".io/?EIO=2 & transport = websocket".
code de mon serveur complet: https://gist.github.com/anonymous/574133a15f7faf39fdb5
J'ai trouvé une autre bibliothèque .Net qui fonctionne très bien avec socket.io. It is the most updated too. Suivez le lien ci-dessous,
using Quobject.SocketIoClientDotNet.Client;
var socket = IO.Socket("http://localhost");
socket.On(Socket.EVENT_CONNECT, () =>
{
socket.Emit("hi");
});
socket.On("hi", (data) =>
{
Console.WriteLine(data);
socket.Disconnect();
});
Console.ReadLine();
Hope, ça aide quelqu'un.
cela dépend de l'apparence de votre serveur web. Dans certains cas, il peut être applicable à faire un auditeur régulier de sockets.
Sinon, vous devrez probablement faire votre propre client. Cependant, vous n'aurez probablement besoin que d'implémenter le transport WebSocket, donc il devrait être assez simple de toute façon.
pour ce que ça vaut, je suggère d'examiner la question " y a-t-il un client WebSocket implémenté pour .NET? " et mon (assez simple) WebSocket Socket.IO transport mise en œuvre du client pour Java .