通过c#与socket.io服务器通信

有没有ac#客户端遵循socket.io协议? 我有一个socket.io服务器通过网站与socket.io javascript客户端进行通信,但我也需要连接ac#片段,它可以发送和接收消息。 有没有一个干净的方式来做到这一点,或者我将不得不写我自己的客户端。

在codeplex上也有一个项目( NuGet ),它是一个用于socket.io的C#客户端。 (我是这个项目的作者 – 所以我有偏见)我找不到客户需要的东西,所以我build立了它,并且公开发布。

示例客户端样式:

socket.On("news", (data) => { Console.WriteLine(data); }); 

使用下面的库: 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

这取决于你的networking服务器的外观。 在某些情况下,也可能适用于为普通套接字创build一个监听器。
否则,你可能不得不自己做客户。 然而,你可能只需要实现WebSocket传输,所以它应该是相当简单的。

为什么值得我build议看看“ 是否有一个为.NET实现的WebSocket客户端? ”和我的(相当简单的)用于Java的WebSocket Socket.IO传输客户端实现 。