zoukankan      html  css  js  c++  java
  • 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("
    Connected event...
    ");
            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}
    ", part.Level);
        });
    
        // make the socket.io connection
        socket.Connect();
    }

    Getting Started

    Two ways to get started:

    1. Download source code, compile, and run the included Test & Sample code and have a look around.
    2. Install via Nuget – run the following command in the Package Manager Console >  Install-Package SocketIO4Net.Client

    See the Documentation section for further details.

  • 相关阅读:
    去掉百度地图左下角文字和图标。
    使用CMake,且在GCC编译时指定相对源代码路径选项BUG的问题
    一键杀死某些指定进程的脚本
    KMS使用CLion作为IDE来调试
    ubuntu 18.04下安装编译的KMS,依赖库
    ubuntu 18.04下编译最新版本的KMS
    configure.ac中AC_CHECK_LIB的问题
    C/C++下__FILE__参数过长的问题解决办法
    Linux 下 UltraEdit 版本 破解 30 天试用限制
    ubuntu下配置ProFtpd服务使用sqlite3作为后端用户认证
  • 原文地址:https://www.cnblogs.com/rongfengliang/p/3490534.html
Copyright © 2011-2022 走看看