简单,可复制

点点滴滴,尽在文中

  :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
上一页 1 ··· 33 34 35 36 37 38 39 40 41 ··· 43 下一页

2012年1月20日

摘要: 以前本站向大家介绍过一些软件开发的原则,比如优质代码的十诫和Unix传奇(下篇)中所以说的UNIX的设计原则。相信大家从中能够从中学了解到一些设计原理方面的知识,正如我在《再谈“我是怎么招聘程序”》中所说的,一个好的程序员通常由其操作技能、知识水平,经验层力和能力四个方面组成。在这里想和大家说说设计中的一些原则,我认为这些东西属于长期经验总结出来的知识。这些原则,每一个程序员都应该了解。但是请不要教条主义,在使用的时候还是要多多考虑实际情况。其实,下面这些原则,不单单只是软件开发,可以推广到其它生产活动中,甚至我们的生活中。Don’t Repeat Yourself (DRY)DRY 是一个最 阅读全文
posted @ 2012-01-20 15:00 ggjucheng 阅读(1152) 评论(0) 推荐(0)

2012年1月17日

摘要: 前言本章节是用基本的Linux基本函数加上epoll调用编写一个完整的服务器和客户端例子,可在Linux上运行,客户端和服务端的功能如下:客户端从标准输入读入一行,发送到服务端服务端从网络读取一行,然后输出到客户端客户端收到服务端的响应,输出这一行到标准输出服务端代码如下:#include <unistd.h>#include <sys/types.h> /* basic system data types */#include <sys/socket.h> /* basic socket definitions */#include <netinet 阅读全文
posted @ 2012-01-17 19:54 ggjucheng 阅读(29553) 评论(10) 推荐(3)

摘要: 前言本章节是用基本的Linux/Unix基本函数加上poll调用编写一个完整的服务器和客户端例子,可在Linux(ubuntu)和Unix(freebsd)上运行,客户端和服务端的功能如下:客户端从标准输入读入一行,发送到服务端服务端从网络读取一行,然后输出到客户端客户端收到服务端的响应,输出这一行到标准输出服务端代码如下:#include <unistd.h>#include <sys/types.h> /* basic system data types */#include <sys/socket.h> /* basic socket definiti 阅读全文
posted @ 2012-01-17 19:13 ggjucheng 阅读(7929) 评论(2) 推荐(2)

摘要: 前言本章节是用基本的Linux/Unix基本函数加上select调用编写一个完整的服务器和客户端例子,可在Linux(ubuntu)和Unix(freebsd)上运行,客户端和服务端的功能如下:客户端从标准输入读入一行,发送到服务端服务端从网络读取一行,然后输出到客户端客户端收到服务端的响应,输出这一行到标准输出服务端代码如下:#include <unistd.h>#include <sys/types.h> /* basic system data types */#include <sys/socket.h> /* basic socket defini 阅读全文
posted @ 2012-01-17 16:57 ggjucheng 阅读(10321) 评论(3) 推荐(4)

摘要: 前言本章节是用基本的Linux/Unix基本函数编写一个完整的服务器和客户端例子,可在Linux(ubuntu)和Unix(freebsd)上运行,客户端和服务端的功能如下:客户端从标准输入读入一行,发送到服务端服务端从网络读取一行,然后输出到客户端客户端收到服务端的响应,输出这一行到标准输出服务端代码如下:#include <unistd.h>#include <sys/types.h> /* basic system data types */#include <sys/socket.h> /* basic socket definitions */#i 阅读全文
posted @ 2012-01-17 13:54 ggjucheng 阅读(17686) 评论(2) 推荐(0)

2012年1月15日

摘要: 简介TCP延迟确认是由一些实现采用的技术,努力提高网络性能的传输控制协议 。从本质上讲,几个应答响应可能结合在一起,成一个响应,减少协议开销 。然而,在某些情况下,该技术可以降低应用程序的性能。方法和优势RFC 1122中描述,主机可能延迟发送ACK响应到500毫秒。此外,收到一个完整大小的TCP报文段,就要发送ACK响应 。延迟ACK可以给应用程序的机会,一起发送更新的TCP接收窗口,ACK和应用程序的即时响应。如某些协议,远程登录,通过合并ACK,tcp窗口更新和应用程序的响应为一个报文段,延迟ACK可以减少服务器发送的响应的数据为3倍问题在某些应用程序和配置交互时,延迟ACK引入额外的等 阅读全文
posted @ 2012-01-15 21:50 ggjucheng 阅读(12451) 评论(0) 推荐(0)

摘要: 纳格算法是以减少封包传送量来增进TCP/IP网络的效能。 它是由约翰.纳格任职于Ford Aerospace时命名。纳格的文件,Congestion Control in IP/TCP Internetworks(RFC896) 描述了他所谓的“小封包问题”-某个应用程式不断地送出小单位的资料,且某些常只占1字节大小。 因为TCP封包具有40字节的标头资讯(TCP与IPv4各占20字节),这导致了41字节大小的封包只有1字节的可用资讯,造成庞大的浪费。 这种状况常常发生于Telnet工作阶段-大部分的键盘操作会产生1字节的资料并马上送出。 更糟的是,在慢速的网络连线下,这类的封包会大量地在同一 阅读全文
posted @ 2012-01-15 21:23 ggjucheng 阅读(2914) 评论(0) 推荐(1)

摘要: Nagle算法的立意是良好的,避免网络中充塞小封包,提高网络的利用率。但是当Nagle算法遇到delayed ACK悲剧就发生了。Delayed ACK的本意也是为了提高TCP性能,跟应答数据捎带上ACK,同时避免糊涂窗口综合症,也可以一个ack确认多个段来节省开销。 悲剧发生在这种情况,假设一端发送数据并等待另一端应答,协议上分为头部和数据,发送的时候不幸地选择了write-write,然后再read,也就是先发送头部,再发送数据,最后等待应答。发送端的伪代码是这样write(head); write(body); read(response);接收端的处理代码类似这样:read(req.. 阅读全文
posted @ 2012-01-15 21:17 ggjucheng 阅读(4855) 评论(0) 推荐(0)

2012年1月14日

摘要: 史上最好用的免费SVN空间 简介 用简单的话来定义tcpdump,就是:dump the traffic on a network,根据使用者的定义对网络上的数据包进行截获的包分析工具。 tcpdump可以将网络中传送的数据包的“头”完全截获下来提供分析。它支持针对网络层、协议、主机、网络或端口的过 阅读全文
posted @ 2012-01-14 23:54 ggjucheng 阅读(1559778) 评论(35) 推荐(114)

2012年1月9日

摘要: STL好用是好用, 不慎的话相当危险, 尤其是俺们这些服务器程序. 迭代器失效就不说了, 发生了就是个当机回档的事, 慎之! 最近工作中看到了stl::sort排序导致的一个core, 问题的根源就是, stl::sort要求被排序的对象必须是顺序确定的, 比如你在重载<操作符的时候class Test1 { int a; bool operator < (const Test1& rhs) { return this->a < rhs.a; } }; 上面的代码就是没问题的, 因为两个给定的Test1对象, 调用<的时候的结果是一致的.但是如果是下面这. 阅读全文
posted @ 2012-01-09 14:42 ggjucheng 阅读(3306) 评论(0) 推荐(1)

上一页 1 ··· 33 34 35 36 37 38 39 40 41 ··· 43 下一页