wintree的专栏

专注于Linux系统编程,网络编程,高性能服务器技术,c/c++技术学习

排序:
默认
按更新时间
按访问量

支持vector,map,list<map>序列化,反序列化实现

协议序列化

2015-11-29 23:33:18

阅读数:6287

评论数:3

C语言实现分布式自增有序的唯一ID生成算法-snowflake算法

前41bits是以微秒为单位的timestamp。 接着10bits是事先配置好的机器ID。 最后12bits是累加计数器。 macheine id(10bits)标明最多只能有1024台机器同时产生ID,sequence number(12bits)也标明1台机器1ms中最多产生4096个...

2015-11-07 13:28:14

阅读数:8213

评论数:0

原子操作的一段代码学到的知识

本实例是我在学习原子操作看到一段很有趣的程序,包含的知识很多。 首先上程序: // test_atomic.cpp : 定义控制台应用程序的入口点。 // #define _GNU_SOURCE #include #include #include #include #include...

2015-11-07 10:58:31

阅读数:2731

评论数:1

我的c++服务器记录----非阻塞下的socket读取操作

服务器端的基本的一个操作就是从socket的fd上进行数据读取,也就是我们经常用到的read函数。 欢迎关注我的服务器代码:http://code.taobao.org/p/fastServer/src/今天主要是关注的正确的进行read操作 首相,我的socket是已经设置了非阻塞属性。re...

2015-07-24 23:52:43

阅读数:2292

评论数:0

memcached源码阅读----使用libevent和多线程模型

本篇文章主要是我今天阅读memcached源码关于进程启动,在网络这块做了哪些事情。 一、iblievent的使用     首先我们知道,memcached是使用了iblievet作为网络框架的,而iblievet又是单线程模型的基于linux下epoll事件的异步模型。因此,其基本的思想就是...

2014-09-14 23:55:12

阅读数:9593

评论数:2

我们游戏后台架构学习

今天我们的游戏开始第一次的游客模式导入测试,出现了不少问题。这些问题主要还是基础的网络的连接这一块。但是网络连接这一块我还不是非常熟悉。有时间好好研究一下 下面是使用游戏的主要架构图和主要几个关键点 1 服务器采用“cluster”、“world”、“zone”三层架构,系统可灵活平行...

2013-03-31 19:48:59

阅读数:12396

评论数:8

Linux 服务器后台系统架构的高性能设计

因为,目前在做游戏的的后台开发。尽管最近在忙于开发游戏业务逻辑的的相关代码,也在不停思考着游戏后台的一些架构问题。 因为游戏后台处理着大部分的业务逻辑,因此。在性能上是必须的。 那么如何尽最大的提高性能呢,下面根据我们后台架构提出的几点,因为我们后台架构业务逻辑是单进程将单线程...

2013-01-24 00:42:31

阅读数:9235

评论数:1

信号量,互斥锁和条件变量之间的差异

首先信号量,互斥锁和条件变量 具体如何使用大家可以去学习UNP2进程间通信。里边以消费者生产者模型为例子,讲的很好,推荐大家学习。 信号量,互斥锁和条件变量 在linux编程中,常用于线程间的同步。   在计算机中,一些资源在同一时间只允许一个线程进行修改。   那么这三者根据自身的特点...

2012-10-11 23:58:20

阅读数:3514

评论数:0

]linux内核学习之网络篇——接收分组

计算机处于网络中,是不知道什么时候会发过来数据,是不可预测的。因此,目前所有的现代设备驱动程序都是使用了中断来通知内核的有 链路层的以太网帧到达。 驱动程序有特定的相应的程序,因此当有数据帧到达的时候,内核就会调用该程序。将数据从网卡上传输到物理内存中。或者通知内核延迟处理。 下面一个图就是...

2012-10-11 00:58:27

阅读数:2836

评论数:0

linux内核学习之网络篇——网络物理层的设备初步

网卡是是网络中最基本的硬件之一。 在内核中,每个网络设备都一个一个net_device 结构体实例,在进行初始化完成之后,会将该结构注册到内核中。然能内核知道该结构的存在。 这会创建一个sysfs项,这,关联到该设备的对应目录中。该目录为 [root@localhost ~]# ls -l...

2012-10-09 00:58:50

阅读数:1684

评论数:0

linux内核学习之网络篇——IP和TCP结构体源码

今天只是看一下IP协议的结构体和TCP的结构体所控制的字段。 首先看一下IP的字段,就是传说中ip协议中的包头字段。   struct iphdr { #if defined(__LITTLE_ENDIAN_BITFIELD) __u8 ihl:4, version:4; #elif ...

2012-09-30 01:03:17

阅读数:4184

评论数:0

linux内核学习之网络篇——套接字缓冲区

在内核分析网络分组时,底层协议的数据将传输到跟高的层。而发送数据的时候顺序是相反的。每一层都是通过加(首部+净荷)传向跟底层,直至最终发送。 这些操作决定了网络的的性能。 就如下图所示   linux因此设计了一个结构体   如下代码 /** * struct sk_buff...

2012-09-29 01:00:14

阅读数:3220

评论数:0

linux内核学习之网络篇——TCP/IP概述

1.ISO 参考模型 因特网协议栈中的层 人们已经进行了一些讨论关于如何将TCP/IP参考模型映射到到OSI模型。由于TCP/IP和OSI模型组不能精确地匹配,还没有一个完全正确的答案。 另外,OSI模型下层还不具备能够真正占据真正层的位置的能力;在传输层和网络层之间还需要另外一个层(网络互...

2012-09-26 21:20:02

阅读数:2125

评论数:2

ngnix 源代码学习(1)

一直想学习一个优秀的服务器源代码,之前一直纠结在学apache还是ngnix,后来比较一下,还是学习ngnix比较好,因为我目前致力于linux下的服务端软件开发。 尤其是想学一下web服务器的开发。   第一,代码量比较少,貌似就十万行,但是apach几十万行,会很累看的。 第二,技术都...

2012-04-04 23:40:28

阅读数:2711

评论数:1

多线程实现消费者生产者的例子

今天看书,看了一个例子,于是自己手动的自己敲了一下。。。 但是,期望的结果和理论结果是不一样的,求解答啊。。。 上源代ma #include "apue.h" #include /* basic system data types */ #inclu...

2012-02-04 21:30:53

阅读数:2124

评论数:2

POSIX---linux多线程编程基础入门。

过年不回家了,一直在工作的地方呆着,就腾出了很多时间来学习了。前几天腾讯给打电话,问了linux下的一些知识,但是答得很不好。自我分析了一下,总结如下: 1.知识学习一遍是远远不够的。还是要多学习,多揣摩,多思考。 2.知识是要经常回头复习的。 3.程序的工作是要多自己写代码实践,多思考。写...

2012-01-21 00:12:33

阅读数:4790

评论数:2

strcat 和strncat 函数学习

函数原型 char * strcat ( char * destination, const char * source ); Concatenate strings连接字符串 Appends a copy of the source string to the destination st...

2011-12-20 19:52:42

阅读数:3121

评论数:0

深入浅出---unix多进程编程之wait()和waitpid()函数

Wait和waipid函数   当一个进程正常或异常终止的时候,内核就像其父进程发送SIGCHLD信号,因为子进程是个一步事件,所以这种信号也是内核系那个父进程发的异步通知。父进程可以选择忽略该信号,或者提供一个该信号发生时即被调用执行的函数。对于这种信号的系统默认动作是忽略它。 现在要知道...

2011-11-21 23:43:57

阅读数:35526

评论数:15

深入浅出--UNIX多进程编程之fork()函数

0前言 上周都在看都在学习unix环境高级编程的第八章——进程控制。也就是这一章中,让我理解了unix中一些进程的原理。下面我就主要按照进程中最重要的三个函数来进行讲解。让大家通过阅读这一篇文章彻底明白进程这点事。希望对大家有所帮助。 1进程环境          在学习进程之前...

2011-11-21 11:58:36

阅读数:17077

评论数:14

unix环境高级编程-5.4-缓冲

提到缓冲这个概念,大家都知道非常熟悉不过了,我们在写程序的时候,比如java,C++都会涉及到一些缓冲的概念,那么到底缓冲有什么好的作用的。   其实缓冲在unix的操作系统里,就是为了减少read和write的调用次数。在第三章中,对不同缓冲区的长度设置,执行IO所要的cpu时间量是不一样的...

2011-11-01 00:13:49

阅读数:1966

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭