{"id":13431426,"url":"https://github.com/zeromq/netmq","last_synced_at":"2025-05-13T20:03:07.896Z","repository":{"id":5335710,"uuid":"6521142","full_name":"zeromq/netmq","owner":"zeromq","description":"A 100% native C# implementation of ZeroMQ for .NET","archived":false,"fork":false,"pushed_at":"2025-04-14T06:04:23.000Z","size":11676,"stargazers_count":3052,"open_issues_count":139,"forks_count":754,"subscribers_count":215,"default_branch":"master","last_synced_at":"2025-05-06T19:51:53.059Z","etag":null,"topics":["dotnet","dotnet-core","messaging","netmq","zeromq"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/zeromq.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"COPYING.LESSER","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":"AUTHORS.md","dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2012-11-03T15:50:06.000Z","updated_at":"2025-05-05T19:48:27.000Z","dependencies_parsed_at":"2022-07-12T15:03:00.261Z","dependency_job_id":"b386649a-211b-4038-87b7-b99f1ebd5c83","html_url":"https://github.com/zeromq/netmq","commit_stats":{"total_commits":1709,"total_committers":134,"mean_commits":"12.753731343283581","dds":0.5582211819777647,"last_synced_commit":"915223d8d751f5b7aad23a4db63c0794821e3d05"},"previous_names":[],"tags_count":27,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zeromq%2Fnetmq","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zeromq%2Fnetmq/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zeromq%2Fnetmq/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zeromq%2Fnetmq/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/zeromq","download_url":"https://codeload.github.com/zeromq/netmq/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253869325,"owners_count":21976605,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["dotnet","dotnet-core","messaging","netmq","zeromq"],"created_at":"2024-07-31T02:01:03.019Z","updated_at":"2025-05-13T20:03:07.850Z","avatar_url":"https://github.com/zeromq.png","language":"C#","readme":"\u003cimg src=\"https://cdn.rawgit.com/zeromq/netmq/master/img/NetMQLogo.svg\" width=\"350\" /\u003e\n\n[![GitHub Actions CI](https://github.com/zeromq/netmq/actions/workflows/CI.yml/badge.svg)](https://github.com/zeromq/netmq/actions/workflows/CI.yml)\n[![NetMQ NuGet version](https://img.shields.io/nuget/v/NetMQ.svg)](https://www.nuget.org/packages/NetMQ/)\n\nNetMQ is a 100% native C# port of the lightweight messaging library ZeroMQ.\n\nNetMQ extends the\nstandard socket interfaces with features traditionally provided by\nspecialised messaging middleware products. NetMQ sockets provide an\nabstraction of asynchronous message queues, multiple messaging patterns,\nmessage filtering (subscriptions), seamless access to multiple transport\nprotocols, and more.\n\n## Installation\n\nYou can download NetMQ via [NuGet](https://nuget.org/packages/NetMQ/).\n\n## Versions\n\nCurrently two versions are maintained \nVersion 3 which is the stable version of NetMQ and version 4, version 4 is same as version 3 without obsolete code.\nYou can find both version on Nuget, for more information read the [Migrating-to-v4](https://github.com/zeromq/netmq/wiki/Migrating-to-v4).\n\nThis repository is for version 4, for version 3 go to: https://github.com/NetMQ/NetMQ3-x.\n\n## Using / Documentation\n\nBefore using NetMQ, make sure to read the [ZeroMQ Guide](http://zguide.zeromq.org/).\n\nThe NetMQ documentation can be found at [netmq.readthedocs.org](http://netmq.readthedocs.org/en/latest/). Thanks to [Sacha Barber](http://www.codeproject.com/Members/Sacha-Barber) who agreed to do the documentation.\n\nYou can find NetMQ samples contributed by various users here: https://github.com/NetMQ/Samples\n\nThere are also a few blog posts available, which you can read about here:\n\n+ [Somdoron's blog](http://somdoron.com/category/netmq/)\n+ [Hello World](http://sachabarbs.wordpress.com/2014/08/19/zeromq-1-introduction/)\n+ [The Socket Types](http://sachabarbs.wordpress.com/2014/08/21/zeromq-2-the-socket-types-2/)\n+ [Socket Options/Identity and SendMore](http://sachabarbs.wordpress.com/2014/08/26/zeromq-3-socket-optionsidentity-and-sendmore/)\n+ [Multiple Socket Polling](http://sachabarbs.wordpress.com/2014/08/27/zeromq-4-multiple-sockets-polling/)\n+ [Sending From Multiple Sockets](https://sachabarbs.wordpress.com/2014/08/30/zeromq-sending-from-multiple-sockets/)\n+ [Divide And Conquer](http://sachabarbs.wordpress.com/2014/09/01/zeromq-6-divide-and-conquer/)\n\n\nHere is a simple example:\n\n```csharp\nusing (var server = new ResponseSocket(\"@tcp://localhost:5556\")) // bind\nusing (var client = new RequestSocket(\"\u003etcp://localhost:5556\"))  // connect\n{\n    // Send a message from the client socket\n    client.SendFrame(\"Hello\");\n\n    // Receive the message from the server socket\n    string m1 = server.ReceiveFrameString();\n    Console.WriteLine(\"From Client: {0}\", m1);\n\n    // Send a response back from the server\n    server.SendFrame(\"Hi Back\");\n\n    // Receive the response from the client socket\n    string m2 = client.ReceiveFrameString();\n    Console.WriteLine(\"From Server: {0}\", m2);\n}\n```\n\n## Contributing\n\nWe need help, so if you have good knowledge of C# and ZeroMQ just grab one of the issues and add a pull request.\nWe are using [C4.1 process](http://rfc.zeromq.org/spec:22), so make sure you read this before.\n\nRegarding 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.\n\nYou can also help us by:\n\n* Joining our [mailing list](https://groups.google.com/d/forum/netmq-dev?hl=en) and be an active member\n* Writing tutorials in the github wiki\n* Writing about the project in your blog (and add a pull request with a link to your blog at the bottom of this page)\n\n## Consulting and Support\nName | Email | Website | Info\n-----|-------|---------|-----\nDoron Somech | somdoron@gmail.com | http://somdoron.com | Founder and maintainer of NetMQ, expertise in Fintech and high performance scalable systems.\n\nIf you are providing support and consulting for NetMQ please make a pull request and add yourself to the list.\n\n## Important note on backward compatibility \n\nSince version 3.3.07 NetMQ changed the number serialization from Little Endian to Big Endian to be compatible with ZeroMQ.\nAny 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,\nhowever doing so will make it incompatible with ZeroMQ.\n\nWe recommend to update to the latest version and use Big Endian which is now the default behavior.\n\n## Mailing list\n\nYou can join our mailing list [here](https://groups.google.com/d/forum/netmq-dev?hl=en). \n\n## Who owns NetMQ?\n\nNetMQ is owned by all its authors and contributors. \nThis is an open source project licensed under the LGPLv3. \nTo contribute to NetMQ please read the [C4.1 process](http://rfc.zeromq.org/spec:22), it's what we use.\nThere 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.\n\n## Build Server\n\n![Code Better](http://www.jetbrains.com/img/banners/Codebetter300x250.png)\n\n[YouTrack by JetBrains - keyboard-centric bug tracker](http://www.jetbrains.com/youtrack)\n","funding_links":[],"categories":["Frameworks, Libraries and Tools","NetWork","Verteilte Systeme","C# #","框架, 库和工具","Queue","C\\#","队列","Uncategorized","Identifiers","Tools and Libraries"],"sub_categories":["Queue and Messaging","消息队列","GUI - other","Uncategorized","Messaging"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzeromq%2Fnetmq","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fzeromq%2Fnetmq","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzeromq%2Fnetmq/lists"}