上一篇博文可以实现基本的网络通信,但是只能服务给一个人,我们可以通过给每个客户端fork()一个子进程,来实现一对多的服务。
方法:
客户端连到服务器以后,服务器启动一个新创建的套接字对话,也就是说父进程可以继续连接下一个客户端,而子进程来需要处理
accept()创建的副套接字,实现通信功能。父进程克隆子进程后可以关闭副套接字close(connect_d),而子进程可以关闭主监听套...
分类:
其他好文 时间:
2014-05-26 05:02:14
阅读次数:
228
服务器连接网络四部曲。
为了与外界沟通,c程序用数据流读写字节,比较常用的数据流有标准输入、标准输出、文件等。
如果想写一个与网络通信的程序,就需要一种新的数据流----------套接字。
使用套接字与客户端程序通信前,服务器需要历经四个阶段:绑定、监听、接受、开始。
1.绑定端口
计算机可能同时运行多个服务器程序,为了放置不同的对话混淆,每项服务必须使用不...
分类:
其他好文 时间:
2014-05-25 01:01:09
阅读次数:
317
1.如何创建线程
用pthread_create创建线程...
分类:
编程语言 时间:
2014-05-24 18:35:03
阅读次数:
410
以下是对《Head First 设计模式》中提到的OO原则和设计模式的总结。
OO原则和设计模式的联系:模式可以让我们建造出具有良好OO设计质量的系统。模式被认为是历经验证的OO设计经验。
OO设计原则:
1.封装变化:找出应用中可能需要变化之处,把它们独立出来,不要和那些不需要变化的代码混在一起;
2.多用组合,少用继承;良好的OO设计必须具备可复用、可扩充、可维护三个特性。
3...
分类:
其他好文 时间:
2014-05-22 17:05:00
阅读次数:
231
HEAD
FIRST:策略模式定义了算法族,分别封装起来,让它们之间可以互相替换,此模式让算法的变化独立于使用算法的客户。设计模式:定义一系列的算法,把它们一个个封装起来,并且使它们可以相互替换。本模式使得算法可独立于它的客户而变化。大话设计模式:它定义了算法家族,分别封装起来,让它们之间可以互相替...
分类:
其他好文 时间:
2014-05-21 20:48:42
阅读次数:
313
Head first
设计模式:定义了对象之间的一对多依赖,这样一来,当一个对象改变状态时,它的所有依赖者都会受到通知并自动更新。
让主题与观察者之间松耦合大话设计模式:定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。这个主题对象在状态发生变化时,会通知所有观察者对象,使它们能....
分类:
其他好文 时间:
2014-05-21 17:41:46
阅读次数:
341
策略模式
定义策略模式定义了算法族,分别封装起来,让他们之间可以相互转换,此模式让算法的变化独立于使用算法的客户。实例上面的定义看起来说的不太清楚,记定义无意义,理解策略模式还是要看书中的鸭子例子。假设设计一个模拟鸭子的游戏,鸭子的种类有很多,有红头鸭、绿头鸭等等,鸭子可以划水,可以呱嘎叫。在这个模...
分类:
其他好文 时间:
2014-05-20 07:44:04
阅读次数:
233
迭代器模式和组合模式混用前言
园子里说设计模式的文章算得上是海量了,所以本篇文章所用到的迭代器设计模式和组合模式不提供原理解析,有兴趣的朋友可以到一些前辈的设计模式文章上学学,很多很有意思的。在Head
First 设计模式这本书中,也有说迭代和组合模式混用的方法,但是使用的语言是JAVA,实现起....
分类:
其他好文 时间:
2014-05-19 13:37:27
阅读次数:
409
本文大幅度参考Head
first设计模式中第一章.先来看一个简单的模拟鸭子应用做起,某公司做了一套模拟鸭子游戏:SimUDuck.游戏中出现各种鸭子,一边游泳戏水,一边呱呱叫.此系统的内部设计使用了标准OOP思想,设计了一个鸭子超类(Superclass),并让各种鸭子继承此超类.类图如下:
为....
分类:
其他好文 时间:
2014-05-16 08:00:34
阅读次数:
293
以我的经验,大部分技术,熟读下列四类书籍即可。入门,用浅显的语言和方式讲述正确的道理和方法,如head
first系列全面,巨细无遗地探讨每个细节,遇到疑难问题时往往可以在这里得到理论解答,如Definitive Guide/Programming
xx系列实践,结合实际中经常遇到的情景环境,来描述...
分类:
编程语言 时间:
2014-05-13 17:40:51
阅读次数:
328