iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >关于C#版Nebula客户端编译的问题
  • 792
分享到

关于C#版Nebula客户端编译的问题

2024-04-02 19:04:59 792人浏览 泡泡鱼
摘要

一、需求背景 从Nebula的GitHub上可以发现,Nebula为以下语言提供了客户端SDK: nebula-cpp nebula-java nebula-Go nebula-p

一、需求背景

从Nebula的GitHub上可以发现,Nebula为以下语言提供了客户端SDK:

nebula-cpp
nebula-java
nebula-Go
nebula-python
nebula-node
nebula-rust

我们公司的业务开发语言是C#,但Nebula却没有提供C#版的客户端。

由于Nebula支持源码编译,索性只好尝试动手编译一个。

二、Thrift简介

1.Thrift是Facebook在2007年贡献给Apache基金会的一个开源项目https://thrift.apache.org/

Thrift可以支持多种程序语言,例如:c++,C#,Cocoa,Erlang,Haskell,Java,Ocami,Perl,PHP,Python,Ruby,Smalltalk。

Thrift可以作为二进制的高性能的通讯中间件,支持数据(对象)序列化和多种类型的rpc服务

2.Facebook自己也维护了一个Thrift,目前已经和Apache的Thrift差别较大,重写了编译器,重新实现了一个全异步的Thrift Server:Https://github.com/facebook/fbthrift

Facebook Thrift is not a distribution of Apache Thrift.
This is an evolved internal branch of Thrift that Facebook re-released to open source commUnity in February 2014.
Facebook Thrift was originally released closely tracking Apache Thrift but is now evolving in new directions.
In particular, the compiler was rewritten from scratch and the new implementation features a fully asynchronous Thrift server.

3.Nebula的客户端基于Thrift文件进行编译的,但是使用的Thrift编译器,不是Facebook贡献给Apache的那个Thrift,而是Facebook自己维护的那个Thrift,有点绕。

4.Nebula提供的Thrift模板为:https://github.com/vesoft-inc/nebula-common/tree/master/src/common/interface

三、编译前准备工作

1.操作系统

通过VMware搭建的本地CenOS 7,虚拟机与主机健通过NAT网络连接,内存8G,宿主机有梯子可以FQ

2.安装依赖


root# yum update
root# yum install -y make \
                 m4 \
                 git \
                 wget \
                 unzip \
                 xz \
                 readline-devel \
                 ncurses-devel \
                 zlib-devel \
                 GCc \
                 gcc-c++ \
                 cmake \
                 gettext \
                 curl \
                 redhat-lsb-core \
                 bzip2

3.检查主机上的GCC和CMake版本是否正确


root# g++ --version
root# cmake --version

发现版本不正确,并且git clone也不好使,只好手动下载2.0.1版本的nebula-common:https://github.com/vesoft-inc/nebula-common/tree/v2.0.1

4.解压上述的nebula-common-2.0.1.zip解压,进入nebula-common-2.0.1根目录

5.依次执行如下命令


// 安装CMake。
root# ./third-party/install-cmake.sh cmake-install

// 启用CMake。
root# source cmake-install/bin/enable-cmake.sh

//opt目录添加写权限。
root# sudo mkdir /opt/vesoft && sudo chmod -R a+w /opt/vesoft

// 安装GCC。安装到opt目录需要写权限,用户也可以修改为其他目录。
root# ./third-party/install-gcc.sh --prefix=/opt

// 启用GCC。
root# source /opt/vesoft/toolset/gcc/7.5.0/enable

// 安装第三方依赖
root# ./third-party/install-third-party.sh

四、编译

1.进入上述的nebula-common-2.0.1根目录

2.依次执行命令


root#cmake
root#make

3.查看基于Thrift模板生成的C#代码


nebula-common-2.0.1/src/common/interface/gen-csharp/nebula

五、后续工作

目前只是根据Thrift模板生成了对应C#接口的定义和解析,还需要参考Nebula提供的Java的客户端代码,翻译成对应的C#代码

六、参考文档

https://docs.nebula-graph.com.cn/2.0.1/4.deployment-and-installation/1.resource-preparations/

到此这篇关于C#版Nebula客户端编译的文章就介绍到这了,更多相关C#版Nebula客户端编译内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: 关于C#版Nebula客户端编译的问题

本文链接: https://www.lsjlt.com/news/130818.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 关于C#版Nebula客户端编译的问题
    一、需求背景 从Nebula的Github上可以发现,Nebula为以下语言提供了客户端SDK: nebula-cpp nebula-java nebula-go nebula-p...
    99+
    2024-04-02
  • 如何解决C#版Nebula客户端编译的问题
    小编给大家分享一下如何解决C#版Nebula客户端编译的问题,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!一、需求背景从Nebula的Github上可以发现,Ne...
    99+
    2023-06-20
  • 关于windos10环境下编译python3版pjsua库的问题
    环境: windows10_x64 python3.9_x64 pjsua-2.10 vs2015 pjsua编译参考这里: https://www.jb51.net/article...
    99+
    2024-04-02
  • 关于SpringBoot整合redis使用Lettuce客户端超时问题
    参考的博客 问题起因 做毕设的时候,使用到Lettuce连接redis,一段时间后不操作,再去操作redis,会报连接超时错误,在其重连后又可使用。 原因是:Lettuce 自适应拓...
    99+
    2024-04-02
  • 关于.java编译成.class 与 .class反编译成.java问题
    目录了解下这两个文件类型1. 首先反编译器就是jd-gui这个软件了2. 怎么把.class转成.java文件呢?3. eclipse里面怎么看.class文件?4. 怎么编译单个的...
    99+
    2024-04-02
  • Linux中编译安装Subversion客户端的教程
    这篇文章主要讲解了“Linux中编译安装Subversion客户端的教程”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Linux中编译安装Subversion客户端的教程”吧!Subvers...
    99+
    2023-06-13
  • 关于UDP服务器客户端编程流程介绍
    目录UDP编程流程UDP服务端代码实现UDP客户端代码实现UDP服务端客户端代码详解UDP编程流程 UDP提供的是无连接、不可靠的、数据报服务 UDP是尽最大能力进行传输,但是并不...
    99+
    2024-04-02
  • 关于使用rust调用c++静态库并编译nodejs包的问题
    目录一、创建项目二、Cargo.toml三、package.json四、代码分析在项目上经常要用到身份证阅读器、护照阅读仪、指纹仪等各种品牌硬件,假如每套系统的都做集成开发那代码的维...
    99+
    2022-11-13
    rust调用c++静态库 c++编译nodejs包
  • 关于python中第三方库交叉编译的问题
    目录一、前言:二、交叉编译介绍:三、python及其第三方库的交叉编译背景四、交叉编译的准备工作五、交叉编译python及其第三方的思路六、准备交叉编译工具七、准备openssl-b...
    99+
    2024-04-02
  • C#编写网游客户端的实现
    目录一、项目初步设置 二、连接服务器三、发送数据四、播放背景音乐五、实现游戏背景图片变换六、总结参考一、项目初步设置 1. 新建项目 新建一个WIndows 窗体应用(.Net F...
    99+
    2024-04-02
  • 关于Rust编译时报link.exe not found错误问题
    我在Windows 7上面配置Rust运行环境的时候报了下面的错误,差点导致我去装Windows11或者换Linux... 这个Windows7真是让人头疼,各种组件都是缺失的,要我...
    99+
    2024-04-02
  • 关于使用python反编译apk签名出包的问题
    demo实现脚本下载 安装工具 需要python3,apktool.jar,apktool 1.用apktool进行反编译 cmd = 'apktool d -f '+ap...
    99+
    2024-04-02
  • 关于PHP编译器phpStorm找不到解释器的问题
    最近下载了phpStorm编译器,创建了项目,创建了PHP文件,敲了代码,运行的时候显示错误Error: There is no default interpreter in this project Press ''Fix'' to e...
    99+
    2023-09-06
    php phpstorm 开发语言 网络安全
  • C语言关于include顺序不同导致编译结果不同的问题
    目录编译环境问题简化问题分析总结  今天遇到了因为include顺序不同而编译结果不同的问题。归根结底还是自己写代码的习惯不好导致的。 编译环境  &e...
    99+
    2024-04-02
  • 关于CLion配置visual studio(msvc)和JOM多核编译的问题
    目录安装visual studio(msvc)JOM 多核编译安装visual studio(msvc) 如果你只是开发Window平台的软件时, 最好使用MSVC,这样可以使用大量...
    99+
    2024-04-02
  • C#编写游戏客户端的实现代码
    一、连接客户端原理流程图 二、功能要求 1)连接成功后,可以将服务器发来的消息不停地显示在 listbox 中; 2) 客户端要发给服务器的数据,通过 textbox输入 或者点...
    99+
    2024-04-02
  • nginx rtmp模块编译 arm版本的问题
    目录一、准备工作:二、源码编译1,configure 配置2,编译错误三、目标板上执行今天搞了一天,终于把nginx增加支持rtmp模块编译出来了,其中遇到了很多问题,记录下这篇文章...
    99+
    2024-04-02
  • 关于C#中GUI编程的标准事件问题
    前言 昨天的文章,带大家简单学习C#中的事件,了解订阅者和发布者之间的逻辑关联,也通过小案例进行实际操作,可以看到具体的输出结果。 目前在工作中,使用Winform桌面开发比较多,很...
    99+
    2024-04-02
  • 关于jmeter客户端实现中HttpClient4与Java的区别
    JMeter是一个开源的Java应用程序,用于性能测试和负载测试。在JMeter的客户端实现中,可以选择使用HttpClient4或...
    99+
    2023-09-21
    jmeter
  • 关于numpy的版本兼容问题
    关于numpy的版本兼容问题 问题描述 由于需要匹配tensorflow的2.5.0版本,故原有的numpy版本为1.19.5。在安装ax-platform这个库(版本为0.3.1)时,总是会自动更新...
    99+
    2023-09-01
    python pandas 机器学习 tensorflow
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作