SocketIO4Net.Client
Project Description
SocketIO4Net.Client
Update as of 11/02/2013
A develop branch is up at https://github.com/jstott/socketio4net/tree/develop for anyone looking to take an early peek. Xhr-polling and websockets are working from the C# client. Thank to the efforts from one of our users Nick, this feature is just about there!
Of particular interest, I'm looking for feedback on the .net 40 assembly types (client, PCL etc...) most interested in. The plan is to release a both .net v4.0 & v4.5, using native .net websockets in v4.5 vs websocket4net currenlty in v4.0.
SocketI04net v4.0 is now leveraging the Microsoft.BCL.Async library (includes Microsoft.BCL.Build, Http packs) - please let me know if that create any additional issues.
Nuget packages are not available (yet), but after some additional testing and release notes will create a pre-release version for the latest code.
Please continue to leave discussions here, and if you have/see any issues with the latest develop code on github, please log there.
Jim
NuGet updated to v06.26
Project Description
SocketIO4Net.Client provides a .NET 4.0 C# client for Socket.IO. It provides an overall interface similar to the client JavaScript experience, leveraging the WebSocket4Net project for an underlying websocket implementation.
My goal for this project is a simple & familiar experience for .net clients. You know you want your .Net app to join in some of the fun, right? Besides, all the cool kids are using Nodejs and Socket.IO these days anyway, give it a whirl.
This resulting signature is very similar to the socket.io javascript counterpart:
node.js / JavaScript client
socket.on('news', function (data) {
console.log(data);
});
C# .net client
socket.On("news", (data) => {
Console.WriteLine(data);
});
The all important - Sample / Demo code snippet
Client socket; public void Execute() { Console.WriteLine("Starting TestSocketIOClient Example..."); socket = new Client("http://127.0.0.1:3000/"); // url to nodejs socket.Opened += SocketOpened; socket.Message += SocketMessage; socket.SocketConnectionClosed += SocketConnectionClosed; socket.Error += SocketError; // register for 'connect' event with io server socket.On("connect", (fn) => { Console.WriteLine("\r\nConnected event...\r\n"); Console.WriteLine("Emit Part object"); // emit Json Serializable object, anonymous types, or strings Part newPart = new Part() { PartNumber = "K4P2G324EC", Code = "DDR2", Level = 1 }; socket.Emit("partInfo", newPart); }); // register for 'update' events - message is a json 'Part' object socket.On("update", (data) => { Console.WriteLine("recv [socket].[update] event"); //Console.WriteLine(" raw message: {0}", data.RawMessage); //Console.WriteLine(" string message: {0}", data.MessageText); //Console.WriteLine(" json data string: {0}", data.Json.ToJsonString()); //Console.WriteLine(" json raw: {0}", data.Json.Args[0]); // cast message as Part - use type cast helper Part part = data.Json.GetFirstArgAs<Part>(); Console.WriteLine(" Part Level: {0}\r\n", part.Level); }); // make the socket.io connection socket.Connect(); }
Getting Started
Two ways to get started:
- Download source code, compile, and run the included Test & Sample code and have a look around.
- Install via Nuget – run the following command in the Package Manager Console > Install-Package SocketIO4Net.Client
See the Documentation section for further details.
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)