- 博客(9)
- 资源 (3)
- 收藏
- 关注
原创 网络编程_非阻塞与io复用
网络编程_非阻塞与io复用一:阻塞与非阻塞 默认创建的socket是阻塞式的,即在创建好的socket上调用读写函数时如果没有相应的数据可读或写缓冲区没有足够的空间、调用connect函数时如果三次握手还没有完成、调用accept函数时如果已完成连接队列为空进程将被阻塞,直到操作完或者超时。可以用下图来展示阻塞式socket的流程。 图中显示要么收到数据返回,要
2017-10-08 00:06:05
309
原创 网络编程_高级函数
网络编程_高级函数 在上一篇文章中介绍了一些网络编程中的一些基础函数,这些函数在我们自己写网络程序的过程中基本都会用到。这篇文章将介绍一些实用的高级函数,可以使我们写出来的网络程序更加强大。 一:常用套接字选项:getsockopt和setsockopt函数:#include int getsockopt(int sockfd, int level, i
2017-10-05 23:30:21
269
原创 容灾设计学习笔记
一:逻辑层容灾:逻辑层服务一般都设计从无状态服务,客户端当前请求和下次请求在逻辑层没有任何的关联,因此客户端可以在在多次请求中分别到不同的机器上,而返回的结果和一直在同一台机器上一样。由于这种特性的存在使得逻辑层可以通过多级备份来实现容灾。备份可以有 :主备(1+1), 一主多备(1+n),多主一备(n+1), 无备(1+0),互相备份(n)切换的策略可以为: 冷切:即主完全承担所
2017-09-24 16:26:40
3846
原创 网络编程_TCP协议
一:TCP协议简介 TCP为传输控制协议(TransmissionControl Protocol)。TCP是一个面向连接的协议,为用户提供可靠的全双工字节流。TCP套接字是一种流套接字。 面向连接意味着两个使用TCP的用应在彼此交换数据之前必须先建立连接,双方都应该在内核中分配资源,当连接断开时都应该清理资源。TCP协议通过数据确认、超时重传、流量控制来保
2017-09-10 20:11:43
241
原创 有损服务
进入互联网行业一年有余,相较于之前传统行业的服务来说,互联网服务基本都是分布式集群部署,高并发,网络环境也比较复杂,因而在互联网服务中有很多行之有效的策略用来保证服务可以外正常提供服务,有损就是其中一个屡试不爽的策略。 下面讲讲个人对有损服务的一些理解。 一:为什么是有损之CAP原理: C:(一致性):所有的结点数据所有时刻保持完全一致。 A:(可
2017-07-23 23:32:49
1396
原创 cpu cache 学习记录
近来学习了一下 cpu cache的知识,网上查了一些资料,在此整理一下。一cache结构: 如图所示,一个cache被分为S个组,每个组有E个cacheline,而一个cacheline中,有B字节存储单元。 valid通常是一位,代表该cacheline是否是有效的(当该cacheline不存在内存映射
2017-07-23 15:01:03
404
转载 C++对象模型详解
原文地址:http://www.codeceo.com/article/cpp-object-model.html何为C++对象模型?C++对象模型可以概括为以下2部分:1. 语言中直接支持面向对象程序设计的部分2. 对于各种支持的底层实现机制语言中直接支持面向对象程序设计的部分,如构造函数、析构函数、虚函数、继承(单继承、多继承、虚继承)、多态等等,这
2015-05-22 17:32:58
317
原创 LD_DEBUG=xxx
使用ldd命令可以知道程序依赖于哪些库,在找不到这些库的时候,使用LD_DEBUG可以知道系统在哪些路径下进行了尝试。 例如:root@ubuntu:/usr/local/bin# ldd memcachedlinux-vdso.so.1 => (0x00007ffff4ffc000)libevent-1.4.so.2 => not foundlibpthread.so.0
2015-05-07 15:37:24
830
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人