网络编程
文章平均质量分 76
likun_tech
这个作者很懒,什么都没留下…
展开
-
TCP协议疑难杂症全景解析
http://blog.csdn.net/dog250/article/details/6612496说明:1).本文以TCP的发展历程解析容易引起混淆,误会的方方面面2).本文不会贴大量的源码,大多数是以文字形式描述,我相信文字看起来是要比代码更轻松的3).针对对象:对TCP已经有了全面了解的人。因为本文不会解析TCP头里面的每一个字段或者3次握手的细节,也不会解释慢启动转载 2012-02-18 21:20:10 · 625 阅读 · 0 评论 -
Linux服务器上11种网络连接状态
通常情况下,一个正常的TCP连接,都会有三个阶段:1、TCP三次握手;2、数据传送;3、TCP四次挥手。 注:以下说明最好能结合上图来理解。 SYN:(同步序列编号,Synchronize Sequence Numbers)该标志仅在三次握手建立TCP连接时有效,表示一个新的TCP连接请求。 ACK:(确认编号,Acknowle转载 2012-06-06 12:55:01 · 466 阅读 · 0 评论 -
拥塞控制 流量控制 区别
拥塞控制与流量控制的区别拥塞控制的任务是确保子网能够承载所到达的流量。这是一个全局性问题,涉及到各方面的行为,包括所有的主机、所有的路由器、路由器内部的存储转发处理过程,以及所有可能会削弱子网承载容量的其它因素。与此相反,流控制只与特定的发送方和特定的接收方之间的点到点流量有关。它的任务是,确保一个快速的发送方不会持续地以超过接收方吸收能转载 2012-05-10 09:37:05 · 3098 阅读 · 0 评论 -
线程池网络模型
两种方法吧,一种是Leader/Follower模型,一种是Half Sync/Half Async模型。Leader/Follower设置一个Queue,IO Thread向Queue中push,Worker Thread从Queue中pop。pop中,如果没有item,就pthread_cond_wait,push的时候调用pthread_cond_signal。Half转载 2012-03-20 18:59:30 · 784 阅读 · 0 评论 -
epoll实例
#include #include #include #include #include #include #include #include #include using namespace std;#define MAXLINE 5#define OPEN_MAX 100#define LISTENQ 20#define SERV_PORT 5000#defin原创 2012-03-19 20:38:54 · 643 阅读 · 0 评论 -
Epoll(经典)
NAME epoll - I/O event notification facilitySYNOPSIS #include DEscrīptION epoll is a variant of poll(2) that can be used either as Edge or Level Triggered inter转载 2012-03-19 15:55:48 · 698 阅读 · 0 评论 -
ACE
http://www.cnblogs.com/TianFang/category/78013.html转载 2012-03-16 21:22:41 · 383 阅读 · 0 评论 -
Linux网络编程
Linux网络编程Linux网络编程--1. Linux网络知识介绍--------------------------------------------------------------------------------[作者:hoyt 来自:http://linuxc.51.net]1.1客户端程序和服务端程序 网络程序和普通的程序有一个最大的区别是网络程转载 2012-03-16 13:46:10 · 402 阅读 · 0 评论 -
linux socket的select函数例子
使用select函数可以以非阻塞的方式和多个socket通信。程序只是演示select函数的使用,功能非常简单,即使某个连接关闭以后也不会修改当前连接数,连接数达到最大值后会终止程序。1. 程序使用了一个数组fd_A,通信开始后把需要通信的多个socket描述符都放入此数组。2. 首先生成一个叫sock_fd的socket描述符,用于监听端口。3. 将sock_fd和数转载 2012-03-16 13:59:02 · 392 阅读 · 0 评论 -
Unix网络字节顺序及其判断
一 对于一个16字节的数据,比如0x0102,在内存中可以有两个方式来存贮。一种是0x0102,一种是0x0201,前者成为小段对其,后者成为大端对齐。 在网络编程中,需要考虑到网络数据的存储顺序问题,这是个很重要的问题。因为客户机的数据存储顺是不统一好的,比如Linux,Windows用的是小段对齐,BSD,AIX等Unix系统用的时大端对齐。如果要在不同转载 2012-03-15 13:21:12 · 639 阅读 · 0 评论 -
Unix环境,产生单实例进程方案
在一些情况下,一个进程只能产生一个实例来执行。Unix环境,提供了文件-记录锁(file- and record-locking)机制,提供了事项单实例进程的基本解决方案。 假如,一个进程在开始运行时,生成了一个文件,并且,对整个文件上锁,并且,只有一个这样的写锁允许生成。 如果,后续的进程要试图产生写锁,会导致失败。这暗示了,前面已经有实例运行了。 下面转载 2012-03-15 13:35:44 · 665 阅读 · 0 评论 -
新密钥技术简化云端数据加密
静态数据一直是通过被称为公钥基础设施(PKI)的技术来保护:当数据被创建时,就会使用公钥对数据进行加密,并且从理论上讲,只有持有私钥的授权人才能够解密数据。当将这种数据保护办法扩展到云环境后,事情会变得更加复杂。由于在云环境中,IT团队缺乏对数据安全的直接控制,所以数据迁移到云环境将会给IT团队带来新的复杂的安全问题。此外,云供应商认为数据安全是需要共同承担责任,即服务供应商保证物理安全,转载 2012-03-13 15:28:46 · 1251 阅读 · 0 评论 -
Linux socket 完整的读写函数
写函数write ssize_t write(int fd,const void *buf,size_t nbytes)write函数将buf中的nbytes字节内容写入文件描述符fd.成功时返回写的字节数.失败时返回-1. 并设置errno变量. 在网络程序中,当我们向套接字文件描述符写时有俩种可能. 1)write的返回值转载 2012-03-12 19:34:39 · 3022 阅读 · 0 评论 -
tstdb一个快速简单的key-value store
tstdb is based on a data structure called "Ternary Search Tree",and it is compatible with memcached. More over, it supports prefix searching and range searching.tstdb的bufpool管理#ifndef BUFFERPOLL#原创 2012-03-02 13:55:09 · 566 阅读 · 0 评论 -
UDP协议疑难杂症全景解析
http://blog.csdn.net/dog250/article/details/6896949如今,但凡说精通网络的,第二个意思就是“精通TCP”,事实上,很多自称精通TCP的家伙们只是精通socket接口而已,对TCP行为精通的并不多,笔者也不算精通,但绝对是中等以上水平。如果你真的精通TCP行为,那么本文不读也罢,直接发邮件给我,我们切磋一下,如果只是了解socket接口,那么转载 2012-02-19 10:32:14 · 691 阅读 · 0 评论 -
Linux 内核网络优化
http://blog.csdn.net/ysdaniel/article/details/7307091核心的网络功能,所以相关的设定数据都是放置在 /proc/sys/net/ipv4/ 这个目录当中。 至于该目录下各个档案的详细资料,建议大家可以参考核心的说明文件: /usr/src/linux-{version}/networking/ip-sysctl.txt转载 2012-06-07 12:41:36 · 1167 阅读 · 0 评论