All Projects → zeromq → Netmq

zeromq / Netmq

Licence: other
A 100% native C# implementation of ZeroMQ for .NET

Programming Languages

C#
18002 projects

Projects that are alternatives of or similar to Netmq

Libzmq
ZeroMQ core engine in C++, implements ZMTP/3.1
Stars: ✭ 7,418 (+213.52%)
Mutual labels:  messaging, zeromq
Easy.messagehub
No need for .NET Events! A thread-safe, high performance & easy to use cross platform implementation of the Event Aggregator Pattern.
Stars: ✭ 208 (-91.21%)
Mutual labels:  messaging, dotnet-core
Zeromq Ng
⚡️ Next-generation Node.js bindings to the ZeroMQ library
Stars: ✭ 45 (-98.1%)
Mutual labels:  messaging, zeromq
dynamic-queue
The dynamic queue
Stars: ✭ 17 (-99.28%)
Mutual labels:  zeromq, netmq
Lzmq
Lua binding to ZeroMQ
Stars: ✭ 110 (-95.35%)
Mutual labels:  messaging, zeromq
Zmq4
[WIP] Pure-Go implementation of ZeroMQ-4
Stars: ✭ 181 (-92.35%)
Mutual labels:  zeromq
Hotchocolate
Welcome to the home of the Hot Chocolate GraphQL server for .NET, the Strawberry Shake GraphQL client for .NET and Banana Cake Pop the awesome Monaco based GraphQL IDE.
Stars: ✭ 3,009 (+27.18%)
Mutual labels:  dotnet-core
Shoutrrr
Notification library for gophers and their furry friends.
Stars: ✭ 177 (-92.52%)
Mutual labels:  messaging
Coverlet
Cross platform code coverage for .NET
Stars: ✭ 2,303 (-2.66%)
Mutual labels:  dotnet-core
Anclafs
ASP.NET Core Library and Framework Support
Stars: ✭ 192 (-91.89%)
Mutual labels:  dotnet-core
Metl
Metl is a simple, web-based integration platform that allows for several different styles of data integration including messaging, file based Extract/Transform/Load (ETL), and remote procedure invocation via Web Services. Read more at www.jumpmind.com/products/metl/overview
Stars: ✭ 185 (-92.18%)
Mutual labels:  messaging
Chatlayout
ChatLayout is an alternative solution to MessageKit. It uses custom UICollectionViewLayout to provide you full control over the presentation as well as all the tools available in UICollectionView. It supports dynamic cells and supplementary view sizes.
Stars: ✭ 184 (-92.22%)
Mutual labels:  messaging
Rafty
Implementation of RAFT consensus in .NET core
Stars: ✭ 182 (-92.31%)
Mutual labels:  dotnet-core
Ace
Asheron's Call server emulator.
Stars: ✭ 185 (-92.18%)
Mutual labels:  dotnet-core
Liget
NuGet server and cache running on kestrel in docker
Stars: ✭ 177 (-92.52%)
Mutual labels:  dotnet-core
Nexus
Full-feature WAMP v2 router and client written in Go
Stars: ✭ 186 (-92.14%)
Mutual labels:  messaging
Angular 7 Project With Asp.net Core Apis
Angular 7 Project with ASP.NET CORE APIS | Angular Project
Stars: ✭ 174 (-92.65%)
Mutual labels:  dotnet-core
Scaproust
Implementation of the nanomsg "Scalability Protocols" in rust.
Stars: ✭ 183 (-92.27%)
Mutual labels:  messaging
Fontawesome.sharp
A library for using Font Awesome in WPF & Windows Forms applications
Stars: ✭ 185 (-92.18%)
Mutual labels:  dotnet-core
Kombu
Kombu is a messaging library for Python.
Stars: ✭ 2,263 (-4.35%)
Mutual labels:  messaging

NetMQ AppVeyor Build codecov NetMQ NuGet version NetMQ NuGet prerelease version

NetMQ is a 100% native C# port of the lightweight messaging library ZeroMQ.

NetMQ extends the standard socket interfaces with features traditionally provided by specialised messaging middleware products. NetMQ sockets provide an abstraction of asynchronous message queues, multiple messaging patterns, message filtering (subscriptions), seamless access to multiple transport protocols, and more.

Installation

You can download NetMQ via NuGet.

Versions

Currently two versions are maintained Version 3 which is the stable version of NetMQ and version 4, version 4 is same as version 3 without obsolete code. You can find both version on Nuget, for more information read the Migrating-to-v4.

This repository is for version 4, for version 3 go to: https://github.com/NetMQ/NetMQ3-x.

Using / Documentation

Before using NetMQ, make sure to read the ZeroMQ Guide.

The NetMQ documentation can be found at netmq.readthedocs.org. Thanks to Sacha Barber who agreed to do the documentation.

You can find NetMQ samples contributed by various users here: https://github.com/NetMQ/Samples

There are also a few blog posts available, which you can read about here:

Here is a simple example:

using (var server = new ResponseSocket("@tcp://localhost:5556")) // bind
using (var client = new RequestSocket(">tcp://localhost:5556"))  // connect
{
    // Send a message from the client socket
    client.SendFrame("Hello");

    // Receive the message from the server socket
    string m1 = server.ReceiveFrameString();
    Console.WriteLine("From Client: {0}", m1);

    // Send a response back from the server
    server.SendFrame("Hi Back");

    // Receive the response from the client socket
    string m2 = client.ReceiveFrameString();
    Console.WriteLine("From Server: {0}", m2);
}

Contributing

We need help, so if you have good knowledge of C# and ZeroMQ just grab one of the issues and add a pull request. We are using C4.1 process, so make sure you read this before.

Regarding coding standards, we are using C# coding styles, to be a little more specific: we are using camelCase for variables and fields (with m_ prefix for instance members and s_ for static fields) and PascalCase for methods, classes and constants. Make sure you are using 'Insert Spaces' and 4 for tab and indent size.

You can also help us by:

  • Joining our mailing list and be an active member
  • Writing tutorials in the github wiki
  • Writing about the project in your blog (and add a pull request with a link to your blog at the bottom of this page)

Consulting and Support

Name Email Website Info
Doron Somech [email protected] http://somdoron.com Founder and maintainer of NetMQ, expertise in Fintech and high performance scalable systems.

If you are providing support and consulting for NetMQ please make a pull request and add yourself to the list.

Important note on backward compatibility

Since version 3.3.07 NetMQ changed the number serialization from Little Endian to Big Endian to be compatible with ZeroMQ. Any NetMQ version prior to 3.3.0.7 is not compatible with the new version. To support older versions you can set Endian option on a NetMQ socket to Little Endian, however doing so will make it incompatible with ZeroMQ.

We recommend to update to the latest version and use Big Endian which is now the default behavior.

Mailing list

You can join our mailing list here.

Who owns NetMQ?

NetMQ is owned by all its authors and contributors. This is an open source project licensed under the LGPLv3. To contribute to NetMQ please read the C4.1 process, it's what we use. There are open issues in the issues tab that still need to be taken care of, feel free to pick one up and submit a patch to the project.

Build Server

Code Better

YouTrack by JetBrains - keyboard-centric bug tracker

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].