GithubHelp home page GithubHelp logo

nim-csharp-sdk's Introduction

C# SDK

当前C# SDK基于云信WindowsPC SDK V6.3.0输出的C接口封装而成,方便C#开发者方便直观地调用接口使用云信的服务。 目前C# SDK支持 .NET Framework 3.5及以上版本开发。

开始

克隆项目到你的磁盘中

git clone https://github.com/netease-im/NIM-CSharp-SDK

使用 Visual Studio 2010或以上版本 IDE 打开 nim.sln,解决方案包括一个可视化测试应用程序工程。正式编译和调试解决方案之前,建议开发者简单看下编译配置、平台配置以及工程配置,合理的选择编译条件以及了解并按需自定义和选择工程的输出目录等设置项。

文档

目录结构

├─config 编译配置文件
├─demos 配套可视化测试程序
│ └─winform winform测试程序
└─sdk SDK封装源码
│ ├─libs 云信WindowsPC SDK库文件(包含x86和x64平台)
│ ├─Src 源码
│ └─ThirdParty 依赖的第三方库

交流

  • 遇到问题:欢迎查看网易云信提供的更详细的API文档,网易云信的客户也可以通过技术支持更快的找到我们。
  • 提交缺陷:在确保使用最新版本依然存在问题时请尽量以简洁的语言描述清楚复现该问题的步骤并提交 issue。网易云信的客户也可以通过技术支持更快的将问题反馈给我们。
  • 关于更新:C# SDK将随网易云信WindowsPC SDK发生重大更新后同步更新,开发者如需更新日常版本,可以参考网易云信WindowsPC IM SDK 版本历史云信WindowsPC 实时音 SDK 版本历史自行修改和更新C# SDK代码。

TODO

推荐客户得京东卡,首次推荐成单得3000元京东卡,连续推荐4500元/单,上不封顶。点击参与https://yunxin.163.com/promotion/recommend

main

nim-csharp-sdk's People

Contributors

dujianxin avatar nmgwddj avatar surebeli avatar yunxinusecase avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

nim-csharp-sdk's Issues

NIMSignalingAPI.cs中SignalingCreate等方法传参结构体释放不完整问题

传参结构体param_c在构建时为channel_ext_分配内存,调用完成后,仅针对param_c释放,未针对channel_ext_释放,存在内存泄露问题,请确认。

        public static NIMSignalingCreateParam_C GetNativeNIMSignalingCreateParam(NIMSignalingCreateParam param)
        {
            NIMSignalingCreateParam_C param_c = new NIMSignalingCreateParam_C();
            if(param!=null)
            {
                param_c.channel_ext_ = Utf8StringMarshaler.GetInstance("").MarshalManagedToNative(param.channel_ext_); 
                param_c.channel_name_= Utf8StringMarshaler.GetInstance("").MarshalManagedToNative(param.channel_name_); 
                param_c.channel_type_ = param.channel_type_;
                
            }
            return param_c;
        }
        public static void SignalingCreate(NIMSignalingCreateParam param, NimSignalingOptCreateHandler cb)
        {
            NIMSignalingCreateParam_C param_c = SignalHelper.GetNativeNIMSignalingCreateParam(param);
            int nSizeOfParam = Marshal.SizeOf(param_c);
            IntPtr param_ptr = Marshal.AllocHGlobal(nSizeOfParam);
            try
            {
                Marshal.StructureToPtr(param_c, param_ptr, false);
                var user_ptr = NimUtility.DelegateConverter.ConvertToIntPtr(cb);
                SignalingNativeMethods.nim_signaling_create(param_ptr, NimSignalingCreateCb, user_ptr);
            }
            catch (Exception)
            {
                cb?.Invoke(NIMSignalingCreateResCode.kAbnormal, null);
            }
            finally
            {
                Marshal.FreeHGlobal(param_ptr);
            }
        }

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.