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.

40
demandé sur Dested 2011-06-28 02:51:26

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);
});
42
répondu Jim Stott 2012-04-04 13:50:00

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

22
répondu Jared Beach 2016-09-22 17:03:50

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,

Quobject/SocketIoClientDotNet

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.

2
répondu Prasoon 2018-06-29 07:11:07

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 .

-2
répondu Teo Klestrup Röijezon 2017-05-23 12:02:12