Komunikowanie się z socket.io serwer via c#
Czy istnieje klient c#, który podąża za socket.io protokół? Mam socket.io serwer komunikujący się z socket.io klient javascript przez stronę internetową, ale muszę również podłączyć do niego kawałek c#, który może wysyłać i odbierać wiadomości. Czy jest jakiś czysty sposób, aby to zrobić, czy będę musiał napisać własnego klienta.
4 answers
Jest projekt codeplex ( NuGet również) jest to klient C # dla socket.io. (Jestem autorem tego projektu - więc jestem stronniczy) nie mogłem znaleźć dokładnie tego, czego potrzebowałem w kliencie, więc zbudowałem go i wypuściłem z powrotem na rynek.
Przykładowy styl Klienta:
socket.On("news", (data) => {
Console.WriteLine(data);
});
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-04-04 13:50:00
Użyj następującej biblioteki: https://github.com/sta/websocket-sharp Jest on dostępny za pośrednictwem NuGet:
PM> Install-Package WebSocketSharp -Pre
Aby połączyć się z Socket.IO 1.0 + serwer, użyj następującej składni:
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);
}
Innymi słowy, dodaj to do localhost:port - "socket.io/?EIO=2&transport=websocket".
Mój Pełny kod serwera: https://gist.github.com/anonymous/574133a15f7faf39fdb5
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-09-22 17:03:50
Znalazłem kolejną bibliotekę. Net, która świetnie współpracuje z socket.io. jest to również najbardziej zaktualizowany. Kliknij na poniższy link,
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, to komuś pomaga.Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-06-29 07:11:07
To zależy od tego, jak wygląda Twój serwer WWW. W niektórych przypadkach może mieć zastosowanie również tworzenie słuchacza dla zwykłych gniazd.
W przeciwnym razie prawdopodobnie będziesz musiał stworzyć własnego klienta. Jednak prawdopodobnie będziesz musiał tylko zaimplementować Transport WebSocket, więc i tak powinno być dość proste.
Na ile to jest warte, proponuję spojrzeć na pytanie " czy istnieje Klient WebSocket zaimplementowany dla. Net?" i mój (dość prosty) WebSocket Socket.IO implementacja klienta transportowego dla Javy .
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-23 12:02:12