Socket.ioプロトコルに従うc#クライアントはありますか? socket.io javascriptクライアントとWebサイト経由で通信するsocket.ioサーバーがありますが、メッセージを送受信できるc#ピースを接続する必要もあります。現在これを行うためのクリーンな方法はありますか、それとも自分のクライアントを作成する必要がありますか?.
次のライブラリを使用します。 https://github.com/sta/websocket-sharp NuGetから入手できます。
PM> Install-Package WebSocketSharp -Pre
Socket.IO 1.0 +サーバーに接続するには、次の構文を使用します。
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);
}
つまり、これをlocalhost:port-"socket.io/?EIO=2&transport=websocket"に追加します。
私の完全なサーバーコード: https://Gist.github.com/anonymous/574133a15f7faf39fdb5
さて、socket.ioでうまく機能する別の.Netライブラリを見つけました。これも最新版です。以下のリンクに従ってください、
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();
誰かの助けになることを願っています。