• Stars
    star
    179
  • Rank 214,039 (Top 5 %)
  • Language
    C#
  • License
    MIT License
  • Created about 11 years ago
  • Updated over 5 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

.NET binding for nanomsg

NNanomsg

NNanomsg is a .NET binding for nanomsg. It can be used without recompiling on any platform where .NET is available.

At runtime NNanomsg needs to be able to locate the native nanomsg library for your platform. The following paths are searched (in order) until the native library is found:

 Windows:   [Application Directory]\bin\[x86|x64]
            [Application Directory]\[x86|x64]
            [Application Directory]
            [NNanomsg.dll Directory]\bin\[x86|x64]
            [NNanomsg.dll Directory]\[x86|x64]
            [NNanomsg.dll Directory]

 Posix:     [Application Directory]/bin/[x86|x64]
            [Application Directory]/[x86|x64]
            [Application Directory]
            /usr/local/lib
            /usr/lib

For convenience, we've included nanomsg binaries for Windows (x86 and x64) and Linux (x86 and x64) in the git repository.

Example

A simple C# example is included in the source distribution and you might also want to look at the Test project.

Usage

NNanomsg actually exposes two API's:

  1. Static methods in the NN class. These match those of the C API very closely.
  2. NanomsgSocket and associated classes which provide a higher level idiomatic .NET interface.

For most applications, the higher level interface should be used.

Development Status

Alpha quality. We're still debating the best way to structure some functionality and parts of the API will likely change.

The current version of NNanomsg requires nanomsg-0.3-beta or greater.

Only tested on linux/mono and Windows/Microsoft CLR.

Building Notes

A Vagrantfile that builds a VM with nanomsg and mono installed which can be used to run the example project is included.

Procedure used for generating shared nanomsg libraries:

Windows x86

 cmake.exe . -G "Visual Studio 12"

then Release build in Visual Studio 2013

Windows x64

 cmake.exe . -G "Visual Studio 12 Win64"

then Release build in Visual Studio 2013

Linux x86/x64

 autoreconf -fi
 ./configure --enable-shared
 make
 make install

.so library is in /usr/local/lib

NuGet package

  1. do a release build of NNanomsg in Visual Studio.
  2. execute the script nugetpkg_make.bat in the NNanomsg project directory
  3. cd nugetpkg
  4. NuGet.exe pack

Primary Contributors

More Repositories

1

nplot

Charting library for .NET
C#
36
star
2

howlett-kafka-extensions

Some high level abstractions for working with Apache Kafka in .NET
C#
34
star
3

Nhiredis

.NET wrapper for hiredis
C#
25
star
4

ngx_stub_status_prometheus

nginx module that provides prometheus friendly status information
C
21
star
5

NanomsgRPC

A lightweight RPC framework for .NET utilizing NNanomsg
C#
11
star
6

kafka-signalr

example of using kafka producer / consumer in a web app.
JavaScript
7
star
7

infumap

Infumap
TypeScript
7
star
8

music-compojure

A Clojure based music grammar and related tools for algorithmic composition.
Clojure
7
star
9

rnanomsg

R binding for nanomsg
R
6
star
10

datavstime

datavstime time-series visualization software
CSS
5
star
11

randohelm

Random patch generator for the Helm Software Synth
JavaScript
4
star
12

WChart

NPlot reimagined for WPF
C#
4
star
13

librskafka

rust implementation of librdkafka? how does that sound?
Rust
3
star
14

south-bay-dotnet

scalable web crawler based on kafka in C#
C#
3
star
15

ngx_data_vs_time

simulation data provider for datavstime.com
C
2
star
16

howlett-kafka-utils

Higher level functionality on top of Confluent.Kafka
C#
2
star
17

garch11

Some R code for generating GARCH11 random walks
R
2
star
18

milib

Matt's Image Processing Library
C++
2
star
19

LightweightInfluxDb

A lightweight .NET library for reading data from and writing data to InfluxDb
C#
1
star
20

n3similarity

/now person similarity
Java
1
star
21

NKafka

Experimental .NET Client for Apache Kafka
C#
1
star
22

ncpy

large file transfer over unreliable networks
C
1
star
23

MathML

Currently just a Logistic Classifier
C#
1
star
24

dockgit

A docker image that makes it easy set up a personal git server.
Shell
1
star
25

AspNet.Identity.Providers

Storage providers for ASP.NET 5 Identity membership system
C#
1
star
26

datavstime-examples

datavstime proxy HTTP API example implementations.
C#
1
star
27

wineoftheday

trigram language model of wine label descriptions
JavaScript
1
star
28

kafka-low-end-test

Java
1
star
29

markserv-docker

docker image for markserv
1
star