TE
科技回声
首页24小时热榜最新最佳问答展示工作
GitHubTwitter
首页

科技回声

基于 Next.js 构建的科技新闻平台,提供全球科技新闻和讨论内容。

GitHubTwitter

首页

首页最新最佳问答展示工作

资源链接

HackerNews API原版 HackerNewsNext.js

© 2025 科技回声. 版权所有。

Ask HN: Books on network programming patterns?

32 点作者 mgmeyers将近 11 年前
Hello, HN!<p>I&#x27;ve recently been getting deeper into node.js for things other than your typical web app, and have encountered a topic I&#x27;m not familiar with: network programming. I am completely ignorant on the topic and seek some guidance.<p>Can anyone recommend any high-level books (or other resources) on network programming? For example, something that covers patterns like PUB&#x2F;SUB, REQ&#x2F;RES, Router&#x2F;Dealer, etc.<p>Thanks in advanced!

8 条评论

astigsen将近 11 年前
The classics for learning about network programming is the TCP&#x2F;IP Illustrated series by W. Richard Stevens:<p>TCP&#x2F;IP Illustrated, Volume 1: The Protocols <a href="http://www.amazon.com/TCP-Illustrated-Volume-Addison-Wesley-Professional/dp/0321336313" rel="nofollow">http:&#x2F;&#x2F;www.amazon.com&#x2F;TCP-Illustrated-Volume-Addison-Wesley-...</a><p>TCP&#x2F;IP Illustrated, Volume 2: The Implementation <a href="http://www.amazon.com/TCP-IP-Illustrated-Implementation-Vol/dp/020163354X" rel="nofollow">http:&#x2F;&#x2F;www.amazon.com&#x2F;TCP-IP-Illustrated-Implementation-Vol&#x2F;...</a><p>TCP&#x2F;IP Illustrated, Volume 3: TCP for Transactions, HTTP, NNTP, and the UNIX Domain Protocols <a href="http://www.amazon.com/TCP-Illustrated-Vol-Transactions-Protocols/dp/0201634953" rel="nofollow">http:&#x2F;&#x2F;www.amazon.com&#x2F;TCP-Illustrated-Vol-Transactions-Proto...</a><p>While they start at much lower level than generic patterns, they build the basis to understand the core of networking, and the the later books go into details about effective usage of the protocols.
评论 #7974111 未加载
jvoorhis将近 11 年前
Since your example patterns seem to be informed by ZeroMQ, I recommend checking out the online &#x27;zguide&#x27; book at <a href="http://zguide.zeromq.org/page:all" rel="nofollow">http:&#x2F;&#x2F;zguide.zeromq.org&#x2F;page:all</a>.
评论 #7973913 未加载
angersock将近 11 年前
If you are learning about networking, and not just using somebody else&#x27;s library, Beej&#x27;s guide is an excellent starting point:<p><a href="http://beej.us/guide/bgnet/" rel="nofollow">http:&#x2F;&#x2F;beej.us&#x2F;guide&#x2F;bgnet&#x2F;</a>
adamnemecek将近 11 年前
You might find the books &quot;C++ Network Programming, Volume I: Mastering Complexity with ACE and Patterns&quot;[0] and &quot;C++ Network Programming, Volume 2: Systematic Reuse with ACE and Frameworks&quot;[1] useful. They talk about implementation of the &quot;Adaptive Communication Environment&quot; [2] which is an open-source project for network programming. Also, as nextos mentioned below, the &quot;Pattern-Oriented Software Architecture&quot; series.<p>[0] <a href="http://www.amazon.com/Network-Programming-Volume-Mastering-Complexity/dp/0201604647/" rel="nofollow">http:&#x2F;&#x2F;www.amazon.com&#x2F;Network-Programming-Volume-Mastering-C...</a><p>[1] <a href="http://www.amazon.com/Network-Programming-Volume-Systematic-Frameworks/dp/0201795256" rel="nofollow">http:&#x2F;&#x2F;www.amazon.com&#x2F;Network-Programming-Volume-Systematic-...</a><p>[2] <a href="http://en.wikipedia.org/wiki/Adaptive_Communication_Environment" rel="nofollow">http:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Adaptive_Communication_Environm...</a>
MartinMond将近 11 年前
Just Open a Socket - Connecting Applications to Distributed Systems is a great talk to watch:<p><a href="https://www.youtube.com/watch?v=jytJXjI0oQU" rel="nofollow">https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=jytJXjI0oQU</a> <a href="https://speakerdeck.com/seancribbs/just-open-a-socket-connecting-applications-to-distributed-systems" rel="nofollow">https:&#x2F;&#x2F;speakerdeck.com&#x2F;seancribbs&#x2F;just-open-a-socket-connec...</a><p>Other talks from ricon.io and the various Erlang conferences are great too, but those are more about distributed systems and not primarily network programming. But since you mentioned the ZeroMQ patterns that should be just what you want.<p><a href="http://thinkdistributed.io/" rel="nofollow">http:&#x2F;&#x2F;thinkdistributed.io&#x2F;</a> <a href="http://ricon.io/" rel="nofollow">http:&#x2F;&#x2F;ricon.io&#x2F;</a> <a href="https://www.youtube.com/user/ErlangSolutions/videos" rel="nofollow">https:&#x2F;&#x2F;www.youtube.com&#x2F;user&#x2F;ErlangSolutions&#x2F;videos</a>
keithba将近 11 年前
Enterprise Integration Patterns:<p><a href="http://www.amazon.com/Enterprise-Integration-Patterns-Designing-Deploying/dp/0321200683/ref=pd_bxgy_b_text_y" rel="nofollow">http:&#x2F;&#x2F;www.amazon.com&#x2F;Enterprise-Integration-Patterns-Design...</a><p><a href="http://www.eaipatterns.com/" rel="nofollow">http:&#x2F;&#x2F;www.eaipatterns.com&#x2F;</a><p>Covers stuff like: RPC, messages, channels, etc.
nextos将近 11 年前
Check out the Pattern-Oriented Software Architecture volumes.<p>You can also draw a lot of inspiration from the Erlang literature, and CTM.
spikyobjects将近 11 年前
Not directly answering your question, but: ZeroMQ is a network programming library that uses and encourages the use of &quot;patterns&quot;. Take a look at the (excellent) ZeroMQ manual.