摘要: 编 写服务器时,许多程序员习惯于使用高层次的组件、中间件(例如OO(面向对象)层层封装过的开源组件),相比于服务器的运行效率而言,他们更关注程序开发 的效率,追求更快的完成项目功能点、希望应用代码完全不关心通讯细节。他们更喜欢在OO世界里,去实现某个接口、实现这个组件预定义的各种模式、设置组件 参数... 阅读全文
posted @ 2015-08-06 13:55 繁华如梦 阅读(274) 评论(0) 推荐(0) 编辑
摘要: 摘要:对于服务器编程中最重要的一步等待并接受客户的连接,那么这一步在编程中如何完成,accept函数就是完成这一步的。它从内核中取出已经建立的客户连接,然后把这个已经建立的连接返回给用户程序,此时用户程序就可以与自己的客户进行点到点的通信了。accept函数等待并接受客户请求:#includeint... 阅读全文
posted @ 2015-08-04 20:53 繁华如梦 阅读(1469) 评论(0) 推荐(0) 编辑
摘要: 首先说明:数据报的分段和分片确实发生,分段发生在传输层,分片发生在网络层。但是对于分段来说,这是经常发生在UDP传输层协议上的情况,对于传输层使用TCP协议的通道来说,这种事情很少发生。1,MTU(Maximum Transmission Unit,MTU),最大传输单元(1)以太网和802.3对数... 阅读全文
posted @ 2015-08-04 15:49 繁华如梦 阅读(334) 评论(0) 推荐(0) 编辑
摘要: 为什么需要“三次握手” 在谢希仁著《计算机网络》第四版中讲“三次握手”的目的是“为了防止已失效的连接请求报文段突然又传送到了服务端,因而产生错误”。在另一部经典的《计算机网络》一书中讲“三次握手”的目的是为了解决“网络中存在延迟的重复分组”的问题。这两种不用的表述其实阐明的是同一个问题。 谢希仁版《... 阅读全文
posted @ 2015-08-03 22:58 繁华如梦 阅读(241) 评论(0) 推荐(0) 编辑
摘要: feof 作用:如果文件结束,则返回非0值,否则返回0但要注意的是feof要读取到文件结束标志EOF后,才能判断文件是否结束。所以使用while(!feof(pFile))会出现最后fread会返回0,改进后的代码如下: while(!feof(pFile)) { ... 阅读全文
posted @ 2015-07-23 15:24 繁华如梦 阅读(619) 评论(0) 推荐(0) 编辑
摘要: 写代码前,将这些算法分步骤建立模型,代码就好写了1、冒泡排序冒泡排序是非常容易理解和实现,以从小到大排序举例:设数组长度为N。比较相邻的前后二个数据,如果前面数据大于后面的数据,就将二个数据交换。这样对数组的第0个数据到N-1个数据进行一次遍历后,最大的一个数据就“沉”到数组第N-1个位置。N=N-... 阅读全文
posted @ 2015-07-19 22:30 繁华如梦 阅读(516) 评论(0) 推荐(0) 编辑
摘要: 1、TCP和UDP的区别:1)TCP提供面向连接的传输,通信前要先建立连接(三次握手机制);UDP提供无连接的传输,通信前不需要建立连接。2)TCP提供可靠的传输(有序,无差错,不丢失,不重复);UDP提供不可靠的传输。3)TCP面向字节流的传输,因此它能将信息分割成组,并在接收端将其重组;UDP是... 阅读全文
posted @ 2015-07-12 12:05 繁华如梦 阅读(21517) 评论(1) 推荐(1) 编辑
摘要: find ./ -type d -name ".svn" | xargs rm -rf 阅读全文
posted @ 2015-07-08 13:39 繁华如梦 阅读(1435) 评论(0) 推荐(0) 编辑
摘要: 1) #define是预处理指令,在编译预处理时进行简单的替换,不作正确性检查,不关含义是否正确照样带入,只有在编译已被展开的源程序时才会发现可能的错误并报错。例如:#define PI 3.1415926程序中的:area=PI*r*r 会替换为3.1415926*r*r如果你把#define语句... 阅读全文
posted @ 2015-07-05 22:42 繁华如梦 阅读(186) 评论(0) 推荐(0) 编辑
摘要: 引言typedef 声明,简称 typedef,为现有类型创建一个新的名字。比如人们常常使用 typedef 来编写更美观和可读的代码。所谓美观,意指 typedef 能隐藏笨拙的语法构造以及平台相关的数据类型,从而增强可移植性和以及未来的可维护性。在编程中使用typedef目的一般有两个,一个是给... 阅读全文
posted @ 2015-07-05 22:31 繁华如梦 阅读(190) 评论(0) 推荐(0) 编辑