Linux下的非阻塞IO库epoll

今天看到一篇文章,对于epoll讲解的非常生动清晰,转载收藏一下,原文请点击here。生活中的一个例子假设你在大学中读书,要等待一个朋友来访,而这个朋友只知道你在A号楼,但是不知道你具体住在哪里,于是你们约好了在A号楼门口见面。如果你使用的阻塞IO模型来处理这个问题,那么你就只能一直守候在A号楼门口等待朋友的到来,在这段时间里你不能做别的事情,不难知道,这种方式的效率是低下的。进一步解释selec

- 阅读全文 -

WebSocket协议及Go中的用法

本文主要介绍WebSocket以及Websocket在Golang中的实现和使用。1. WebSocket是什么?这里先列两篇文章:《WebSocket 是什么原理?为什么可以实现持久连接?》,这个是知乎上的一篇文章,对于WebSocket讲的通俗易懂,建议先看一下。The WebSocket Protocol RFC6455,这个是WebSocket的RFC文档,所以内容非常全面(当然只涉及协议

- 阅读全文 -

Go网络编程——Socket

以前主要使用的是Linux C网络编程,现在学习了Golang,就总结一下Go中的socket编程,本文基于Go 1.7.4,和socket相关的代码在go/src/net/net.go文件中。网络协议模型回顾我们先来简单回顾一下网络写协模型。说到网络协议一般就两个模型:概念意义上的OSI(Open Systems Interconnect)的七层协议和实际中使用的TCP/IP四层协议。OSI七层

- 阅读全文 -

Nginx学习

《每周学习一门新技术》第一周——Nginx。1. Nginx是什么Nginx(发音为“engine x”)是一个高性能、轻量级的web服务器,反向代理服务器,邮件服务器。我们也可以用它作为代理服务器,实现负载均衡(LB,Load Balance)和高可用性(HA,High Availability)。它最初由俄罗斯人Igor Sysoev开发,发布于BSD许可证下。现在也有商业版Nginx Plu

- 阅读全文 -

TCP状态变迁图

TCP的状态变迁图囊括了TCP的所有状态,这里我们详细学习一下。在此之前,我们先简单回顾一下TCP的三步握手和“四步分手”。1. TCP的三步握手因为TCP是全双工的(即数据可以在两个方向上同时传递),所以建立一个TCP连接需要三步握手。如下图,是TCP三步握手的状态图:服务器端通过调用一系列接口(通常是socket、bind、listen)准备好接受外来的连接,我们称之为被动打开(passive

- 阅读全文 -

tcpdump使用技巧

之前写网络程序,使用过wireshark,不过发现在Linux平台,特别是服务器上面,tcpdump这个工具使用的更多一些,所以学习一下。网上的例子大多比较冗余,我觉得对于这种强大的工具,大多数人大多数场景中只要掌握最常用的一些语法和使用技巧即可。需要研究某个细节的,直接去看man文档最好。偶然的机会,发现潜水大叔的一篇文章我觉得总结的很清楚明了,收藏学习一下(高级部分暂未转载,有兴趣的可以去看原

- 阅读全文 -

TCP协议头

1. TCP的服务TCP处于网络层,提供了一种面向连接的、可靠的字节流(byte stream)服务。第一个特性面向连接是指两个TCP应用(通常是一个客户端和一个服务端)在彼此交换数据之前必须先建立一条连接。在一个TCP连接中,仅有两方进行彼此通信。第二个特性可靠性是通过下列方式来提供的:应用数据被分割成TCP认为最适合发送的数据库(这和UDP完全不同,在UDP中,应用程序产生的数据报长度保持不变

- 阅读全文 -

TCP Keepalive基本知识

TCP keepalive在很多场景下都不是必须的,但是在某些特定的场景下,这个特性却会是非常有用。我们从TCP keepalive(后面称为keepalive)这个名字就可以大概理解这个特性的作用:keep tcp alive。我们可以通过检查我们的socket(TCP sockets)来判断网络连接是不是正常的(running or broken)。1. 什么是TCP Keepalivekee

- 阅读全文 -

微信公众号

随机文章

最近回复

  • repostone: 非技术的路过。
  • NYC: 确认一下你配置的调度策略是Fair,而不是Capacity,不要...
  • NYC: 这个没问题,我文章里面说的是策略,配置的时候是通过CDH配置的。...
  • 一方: 但是我的action队列抢占了资源,导致action不能并行,难...
  • NYC: 是的,不管是哪个队列,队列内部只要有资源够action/lanu...
  • 一方: 老铁,我想问下,你分配好队列,然后固定了lancher队列的am...
  • 一方: https://blog.csdn.net/bigdatapri...
  • NYC: 1,我的解决方案是不可能完全杜绝死锁的,我目前也没有发现比较好的...
  • 一方: 老铁你好!看了下你的解决方案,感觉还是无法解决死锁的问题啊,假如...
  • luke: **感谢分享**

分类

标签