高性能服务器开发

187 篇文章
116 人订阅

全部文章

范蠡

send 函数发送 0 字节的数据是什么效果?

我曾提到 send 或 recv 函数返回 0 表示对端关闭了连接。有的读者可能会反驳:如果发送 0 字节数据,那么 send 函数也会返回 0,对端会 rec...

773
范蠡

从 struct 到 TLV——协议的演化历史

假设现在 A 与 B 之间要传输一个关于用户信息的数据包,可以将该数据包格式定义成如下形式:

703
范蠡

搞 Java 的年薪 40W 是什么水平?

不知不觉已经工作 5 年了,一路走来磕磕碰碰但总算有了自己的一点小体会。对于一个 Java 开发人员来说,到了 5 年的关键节点,需要掌握哪些知识点呢?经过我自...

752
范蠡

TCP 协议如何解决粘包、半包问题

很多读者从接触网络知识以来,应该听说过这句话:TCP 协议是流式协议。那么这句话到底是什么意思呢?所谓流式协议,即协议的内容是像流水一样的字节流,内容与内容之间...

692
范蠡

如何设计断线自动重连机制

在有连接依赖关系的服务与服务之间,或客户端与服务器之间,无论是出于方便使用、降低运维成本提高工作效率(服务与服务之间),还是优化用户体验(客户端与服务器之间)自...

893
范蠡

心跳包机制设计详解

情形一:一个客户端连接服务器以后,如果长期没有和服务器有数据来往,可能会被防火墙程序关闭连接,有时候我们并不想要被关闭连接。例如,对于一个即时通讯软件,如果服务...

1052
范蠡

Linux内核中双向链表的经典实现

本文对双向链表进行探讨,介绍的内容是Linux内核中双向链表的经典实现和用法。其中,也会涉及到Linux内核中非常常用的两个经典宏定义offset...

873
范蠡

C++17,使用 string_view 来避免复制

当字符串数据的所有权已经确定(譬如由某个 string 对象持有),并且你只想访问(而不修改)他们时,使用 std::string_view 可以避免字符串数据...

714
范蠡

高并发下漏洞桶限流设计方案 - Redis

在我们做社区的时候,经常会出现发水帖的同学。对于这种恶意刷帖的,我们的运营同学很是头疼,而且这种还不能在网关进行ip之类的过滤,只能基于单个单个用户进行处理,我...

1045
范蠡

Netty 如何实现心跳机制与断线重连?

所谓心跳, 即在 TCP 长连接中, 客户端和服务器之间定期发送的一种特殊的数据包, 通知对方自己还在线, 以确保 TCP 连接的有效性.

832
范蠡

002 Linux内核中双向链表的经典实现

本文对双向链表进行探讨,介绍的内容是Linux内核中双向链表的经典实现和用法。其中,也会涉及到Linux内核中非常常用的两个经典宏定义offset...

1242
范蠡

001 红黑树(二)之 C语言的实现(1)

红黑树在日常的使用中比较常用,例如Java的TreeMap和TreeSet,C++的STL,以及Linux内核中都有用到。之前写过一篇文章专门介绍红黑树的理论...

892
范蠡

001 红黑树(一)之 原理和算法详细介绍

目录: 1 红黑树的介绍 2 红黑树的应用 3 红黑树的时间复杂度和相关证明 4 红黑树的基本操作(一) 左旋和右旋 5 红黑树的基本操作(二) 添加 6 红黑...

1483
范蠡

001 红黑树(二)之 C语言的实现(2)

文章来源: http://www.cnblogs.com/skywang12345/p/3624177.html

833
范蠡

001 红黑树(二)之 C语言的实现(3)

前面已经给出了红黑树的测试程序(rbtree_test.c),这里就不再重复说明。下面是测试程序的运行结果:

572
范蠡

年薪五十万的程序员在北京过着怎样的生活

“收入只是别人看到的表面,体面和光鲜下掩盖的真相只有自己知道。如鱼饮水,冷暖自知。”

2243
范蠡

Linux 网络故障排查的瑞士军刀

nc 即 netcat 命令,这个工具在排查网络故障时非常有用,功能非常强大,因而被业绩称为网络界的“瑞士军刀”,请读者务必掌握。默认系统是没有这个命令的,你需...

1091
范蠡

做 Java 或者 C++ 开发都应该知道的 lsof 命令

lsof 命令是 Linux 系统的扩展工具,它的含义是 list opened filedesciptor (列出已经打开的文件描述符),在 Linux 系统...

1033
范蠡

利用 telnet 命令发电子邮件

telnet 命令是我们最常用的网络调试命令之一。如果你的机器上还没有安装 telnet 命令,可以使用如下命令安装一下:

972
范蠡

网络通信基础重难点解析 :Linux epoll 模型

综合 select 和 poll 的一些优缺点,Linux 从内核 2.6 版本开始引入了更高效的 epoll 模型,本节我们来详细介绍 epoll 模型。

1293

扫码关注云+社区

领取腾讯云代金券