Giter Site home page Giter Site logo

netmq's Introduction

NetMQ

NetMQ is 100% native C# port of ZeroMQ.

NetMQ is lightweight messaging library which 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.

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.

Installation

You can find NetMQ in nuget.

Using

Before using NetMQ, make sure to read the ZeroMQ Guide. You can also read more about NetMQ at Somdorons blog.

NetMQ documentation is still work in progress, but you can find a small example here.

using (NetMQContext ctx = NetMQContext.Create())
{
	using (var server = ctx.CreateResponseSocket())
	{
		server.Bind("tcp://127.0.0.1:5556");
		using (var client = ctx.CreateRequestSocket())
		{
			client.Connect("tcp://127.0.0.1:5556");
			client.Send("Hello"); 

			string m1 = server.ReceiveString();
			Console.WriteLine("From Client: {0}", m1);
			server.Send("Hi Back");

			string m2 = client.ReceiveString();
			Console.WriteLine("From Server: {0}", m2);
			Console.ReadLine();
		}
	}
}

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 process, so make sure you read this before.

Regarding coding stanards, we are using C# coding styles, to be a little more specific: we are using camelCase for variables and members (with m_ prefix for members) and CamelCase for methods, classes and constants. Make sure you are using Keep Spaces and 2 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)

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 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

TeamCity at CodeBetter

Code Better

YouTrack by JetBrains - keyboard-centric bug tracker

TeamCity by JetBrains - continuous integration server

netmq's People

Contributors

somdoron avatar reiroldan avatar almazik avatar tobi-tobsen avatar giannibortolobossini avatar bdeus avatar bubbafat avatar gbirchmeier avatar hanswolff avatar jgoz avatar tjrobinson avatar cbaxter avatar eugendueck avatar kamlesh-patel avatar oldrev avatar matthiasgeller avatar

Stargazers

 avatar

Watchers

James Cloos avatar  avatar

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.