Existe-t-il un client c # qui suit le protocole socket.io? J'ai un serveur socket.io qui communique avec un client javascript socket.io via un site Web, mais j'ai également besoin de lui connecter une pièce c # qui peut envoyer et recevoir des messages. Existe-t-il un moyen propre de le faire actuellement ou devrai-je écrire mon propre client.
Il existe un projet sur codeplex ( NuGet également) qui est un client C # pour socket.io. (Je suis l'auteur de ce projet - donc je suis partisan) Je n'ai pas pu trouver exactement ce dont j'avais besoin chez un client, alors je l'ai construit et je l'ai rendu public.
Exemple de style client:
socket.On("news", (data) => {
Console.WriteLine(data);
});
Utilisez la bibliothèque suivante: https://github.com/sta/websocket-sharp Elle est disponible via NuGet:
PM> Install-Package WebSocketSharp -Pre
Pour vous connecter à un serveur Socket.IO 1.0 +, 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 à l'hôte local: port - "socket.io/?EIO=2&transport=websocket".
Mon code de serveur complet: https://Gist.github.com/anonymous/574133a15f7faf39fdb5
Eh bien, j'ai trouvé une autre bibliothèque .Net qui fonctionne très bien avec socket.io. C'est aussi le plus mis à jour. 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();
J'espère que ça aide quelqu'un.