最新内容

基于reactor设计websocket服务器

1.什么是WebSocket?WebSocket是HTML5下一种新的协议(websocket协议本质上是一个基于tcp的协议)websocket使得客户端和服务器之间的数据交换变得更加简单,允许服务端主动向客户端推送数据。在WebSocket API中,浏览器和服务器只需要完成一次握手,两者之间就直接可以创建持久性的连接,并进行双向数据传输。2.总体过程: …

FTP客户端库ftplibpp在linux系统上的使用

一、简述ftplibpp是一个跨平台的可以提供ftp客户端功能的C++库。它包含可以实现ftp客户端功能的类,支持所有基本的ftp功能以及一些高级功能:如恢复、fxp、ssltls加密、支持大文件或符合当今标准的日志记录等。本文讲述其在linux系统上的编译和使用。二、获取首先在github上(链接:https:github.commkulkeftplibp …

Netty基础—4.NIO的使用简介

大纲1.Buffer缓冲区2.Channel通道3.BIO编程4.伪异步IO编程5.改造程序以支持长连接6.NIO三大核心组件7.NIO服务端的创建流程8.NIO客户端的创建流程9.NIO优点总结10.NIO问题总结1.Buffer缓冲区(1)Buffer缓冲区的作用(2)Buffer缓冲区的4个核心概念(3)使用Direct模式创建的Buffer缓冲区(4 …

【调试】perf和火焰图

简介perf是linux上的性能分析工具,perf可以对event进行统计得到event的发生次数,或者对event进行采样,得到每次event发生时的相关数据(cpu、进程id、运行栈等),利用这些数据来对程序性能进行分析。perf可以统计或采样的event有很多,如果我们要分析cpu,那么我们可以使用cpu-cycles、cpu-clock来衡量占用cp …

Linux并发IO详解(上)

Introduction在传统的网络服务器的构建中,IO模式会按照BlockingNon-Blocking、SynchronousAsynchronous这两个标准进行分类,其中Blocking与Synchronous基本上一个意思,而NIO与Async的区别在于NIO强调的是Polling(轮询),而Async强调的是Notification(通知)。譬如 …

Linux 内核中的 Device Mapper 机制

本文结合具体代码对 Linux 内核中的 device mapper 映射机制进行了介绍。Device mapper 是 Linux 2.6 内核中提供的一种从逻辑设备到物理设备的映射框架机制,在该机制下,用户可以很方便的根据自己的需要制定实现存储资源的管理策略,当前比较流行的 Linux 下的逻辑卷管理器如 LVM2(Linux Volume Manage …

linux服务器网络编程之线程模型

前言本文将主要介绍传统的和目前流行的进程线程模型,在讲进程线程模型之前需要先介绍一种设计模式: Reactor 模式。Reactor 模式首先是事件驱动的,有一个或多个并发输入源,有一个Service Handler,有多个Request Handlers;这个Service Handler会同步的将输入的请求(Event)多路复用的分发给相应的Reques …

Linux内核设计与实现

一. linux内核简介1. linux简介1.1 unix的特点unix很简洁,仅提供几百个系统调用,并有非常明确的设计目的unix所有东西都当作文件对待,这种抽象使对数据和设备都通过一套相同的系统调用接口进行内核用C语言编写,移植能力很强进程创建迅速,独特的fork调用提供了简洁但是稳定的进程间通讯原语1.2 unix和linuxlinux克隆unix, …

云计算:助力高通量测序入云端

随着测序通量持续攀升和测序成本直线下降,测序所产出的数据也出现了激增。这样的海量数据不仅为人们带来了前所未有的机遇,还在数据储存、数据传输和数据分析方面提出了新的挑战。以往研究者们需要建立计算机集群来储存和分析大数据集,同时运行几十台甚至几百台计算机。然而许多人都没有这样的条件,因此越来越多的研究者们选择通过“云计算”来解决问题。尽管你可能对它还不熟悉,但云 …