- 博客(22)
- 收藏
- 关注
原创 SIP之设计模式 ---- State设计模式
学过设计模式和没接触过C++的就不要往下看了。 设计模式可能计算机系的同学都学过,不过我用得最多的可能是下面几种: 1.Singleton 2.Factory 3.Strategy因为这三个我觉得最简单和使用. 但我的SIP是要用状态机的,所以决定用State设计模式.State模式对我们的SIP有什么作用呢?因为SIP是有很多状态的,如果用传统的if,else语
2009-03-02 01:05:00
539
原创 SIP架构
先说个故事:有一个想买房子的人,有一个想卖房子的人,还有一个中介。想买房子的人把买房的意愿首先告诉中介,这个中介就负责将这个信息转到卖房子的人, 并将卖房人的信息反馈给买房人。但若是一个北京人想买上海的房子,这时候北京的中介还要找到上海的中介。但不管怎样,整个交易就形成了。 SIP的消息流就如上面的交易链,下面说SIP的架构: SIP网络主要由客户端和服务器两部分构成
2009-03-02 01:04:00
1011
1
原创 SIP 特点
文章很短,主要讲SIP的两个特点。但没有看过SIP入门和What is SIP,就不要往下看了。 还是先来英文先: 1. text-based protocol:commands are sent as simple text.2. Client-Server protocol:SIP uses the request-response model.(Similar synta
2009-03-02 01:03:00
402
原创 学习SIP的一些方法
哈哈,前面讲了些Why SIP, What is SIP和Properties of SIP.以后就要写一些理论和枯燥的东西了。再这之前,我们先继续轻松一下,给大家讲个我以前学HTTP的故事。 最开始的时候,我就是先拿了本HTTP的书来看,总之是本砖头书。看了两章,就发现要用TCP, IP的知识了。于是又拿TCP网络编程来看,这下就没头了。两个月过去了,还是不懂什么叫HTTP.
2009-03-02 01:01:00
494
1
原创 SIP入门
为什么要学SIP? 因为当前形势下我看到很多公司,例如爱立信,诺基亚在招人的时候都要求有SIP经验. 就是说学了SIP可以找好工作,在金融危机下赚钱. (什么理论阿,真是弱). 不过SIP (Session Initial Protocol)也确实有用俄, 比如VoIP, Skype, 网游很多应用都是用的 SIP,甚至MSN的通信也是一种类SIP协议.哈哈,看来SIP真得
2009-03-02 00:57:00
329
原创 接口编程和重构.
客户的需求永远在变,客户永远不知道具体想要什么,只想要好的.就像买衣服一样,你只想买又便宜又好看的衣服,作为客户的你,其实并知道具体应该怎样设计衣服,却会提出颜色要亮一点,袖子要长一点。如何应变不断变化的需求,从销售到管理有一套方法学, 软件开发方面也有敏捷等方法学,现在我们从代码的角度讲如何应对这种变化。 编程的不二法则 -- 基于接口编程和重构。 举个例子,MP3播放器
2009-01-15 18:19:00
337
原创 眼界
Web2.0, iPhone, AJAX, Sliverlight...亦或是"怎样在eclipse下用C++", "MFC下怎样让ComboBox有横向的滚动条"...这是我们每天在工作和生活上用得最多的词汇和问题。我们学习新东西的途径是通过MSDN, 优快云,Google, Baidu.你可以一天工作可以不说一句话,但是你不能离开计算机。我们更多的时间是在跟电脑交流而不是跟人交流,或许只
2008-09-12 08:05:00
287
原创 CppUnitLite测试MFC项目
CppUnitLite简单易用,而且给程序员提供了很大的扩展性。一般来说,对于普通的逻辑判断,I/O操作甚至网络(虽然不一定是单元测试的范畴),已经可以做到很好的支持了。但是,对于界面程序,如何做单元测试呢?下面就以MFC作为例子进行介绍。 1.为你的MFC程序建一个测试工程(CppUnit的入门使用,见http://blog.youkuaiyun.com/enjoyeclipse/archive/2008/
2008-09-02 18:54:00
1089
1
原创 CppUnitLite使用入门
一直想给现在的项目做C++的单元测试,而且也想看看一个单元测试框架的实现。无意中发现了CppUnitLite,CppUnit的轻量级, 确实简单易用。一. 下载及目录结构下载地址:(http://download.youkuaiyun.com/source/304011), 下载后目录结构如下:/om /CppUnitLite /Failure.cpp /Failure.h
2008-08-01 00:15:00
1642
原创 CppFlash开源项目介绍
前文已经说到要做一套C++和Flash结合的库,现在将已经做的东西放到了Google Code上:http://code.google.com/p/cppflash/.这里还是简单主要介绍一下CppFlash:CppFlash是什么?CppFlash是一套用C++编写的运行在Windows平台上的UI库, 让普通的桌面应用程序具有Flash的效果,给以用户强烈的用户体验.
2008-06-25 18:32:00
410
原创 Flash为壳,C++为核,只需要做一套FlashC++的库将两者结合起来
用vc++做界面是个很痛苦的事情,即使是现在有了Ajax,Sliverlight等库,但对于传统的客户端程序来说,一时要转变过来还是比较难的。因为现在Ajax的东西大多还是停留在Web上面。而现在来说界面效果最好的还是Flash,我们开发的时候一直在说将界面与逻辑真正的分离。那么对于客户端程序来说,最好的方法就是界面用flash表现,而逻辑则用c++或c# (bla, bla)等语言实现。我现
2008-06-20 15:43:00
808
1
原创 Visual Studio 2003插件的编写(三)
上一篇介绍了Resource排序器的接口设计,这次会把具体的实现进行说明。Resource排序器主要是将Resource.h里面的ID进行排序。只是需要注意的是该文件中有几个宏定义:APS_NEXT_RESOURCE_VALUE, APS_NEXT_COMMAND_VALUE,_APS_NEXT_CONTROL_VALUE,_APS_NEXT_SYMED_VALUE。因为每在rc文件里
2008-06-17 12:44:00
591
原创 Visual Studio 2003插件的编写(二)
上一篇介绍了如何编写Visual Studio 2003的OutLook插件,那是通过启动进程的方式。但我们经常需要的是让自己的写代码工作简单,操作对象是源代码和工程文件,因此,这次将介绍如何编写一个resource.h排序器的插件。resource.h和rc文件是vc的资源管理方法,每个资源有一个资源ID进行标识,resource.h就会对这些资源ID进行描述。(例如:#define
2008-06-12 16:21:00
371
原创 Visual Studio 2003插件的编写(一)
本文对Visual Studio 2003的插件编写进行简单介绍,并会在下一篇中介绍如何用开发一个resouce.h的排序器插件。用c++和c#都可以写Visual Studio 2003的插件, c++新建的时候是以COM接口的,而C#则是标准的C#语言接口(?%#^什么叫C#语言接口?)。为了快速上手,我们选择用C#开发。 选择"新建"->"项目"->"其他项目"->"Visual Stu
2008-06-10 20:22:00
646
原创 Action Script中使用yahoo astra
自己写些东西,本来想用Action Script3.0的Tree控件的。My God!居然没有了,网上找了半天,说是不支持了,但幸好还有yahoo的astra第三方控件。 1.到http://developer.yahoo.com/flash/astra-flash/去下载astra_flash支持库。 2.做完上一步还不行,到http://www.adobe.com/exchange/em_do
2008-05-05 16:44:00
765
原创 无人值守安装Windows XP
无人值守安装Windows XP参考文章:http://www.cctips.com/Unattended/gettingstarted.htm 1. 准备安装文件a) 拷贝安装/I386文件到C:/根目录. 2. 下载应答文件DeployTool.caba) 从下面的URL地址下载WindowsXP-
2008-04-23 02:23:00
502
原创 asm实现C++中函数地址比较
当然可以直接取&进行运算,但下面的方法经过实践证明更具有通用性,特别是在模板的应用中。 // 全局函数比较方法 virtual bool Equal(int Function_) { int function = 0; __asm { push eax mov eax, m_Function ; 将容器中的函数指针m_Function地址传给eax mov
2008-04-10 11:14:00
478
原创 SVN打分支操作
介绍一下SVN上面如何打分支,实现版本管理。1. 右键 ->TortoiseSVN->Branch/Tag...2. 在To URL栏输入要打的分支地址, 填写Recent Message,点击确定即可。
2008-04-10 10:49:00
2261
原创 Tracert 代码
以前写的Tracert源代码, 相关参考 :http://baike.baidu.com/view/493712.htm--------------------------------------------------------------------------------------------------General.h#include #ifdef __GENERAL
2008-03-13 23:40:00
1038
1
原创 Ping的代码
这是以前自己写的Ping代码, 以ICMP协议为基础ICMP协议参考: http://baike.baidu.com/view/30564.htm-------------------------------------------------------------------------------------------------------------------------------
2008-03-13 23:37:00
598
原创 平衡树AVLTree的代码
也是以前写的程序,是实现平衡树的,现在都有点看不懂了,拿出来晒晒.AVL算法参考:http://www.nocow.cn/index.php/AVL%E6%A0%91-----------------------------------------------------------------------------------------describe.h是用来描述返回值的(当初居然用con
2008-03-13 23:25:00
315
原创 基于TFTP协议的Eshell源代码
前几天在看一年前的代码,看到了以前为Windows CE写的内核下载工具-- Eshell.微软也有一个,但当时看了一下TFTP的协议,就自己"造轮子"了,现在把代码贴出来,由于协议描述是件很累人的事情,大家就结合起来看吧.(协议参考:http://www.longen.org/S-Z/details~z/TFTPProtocol.htm)调试函数文件://-------------------
2008-03-13 23:03:00
511
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人