随笔分类 -  C/C++

摘要:创建型模型一、简单工厂模式靠 if else 或者 select case 等分支去控制不同对象的创建,难以维护二、工厂方法模式 Factory实现方式:将创建对象的方法定义成一个接口,通过多态的方式创建具体的类。 优点: 如果要添加一个新类,则不需要修改已有的代码。缺点:1.客户端需要知道基类和工厂类,耦合性差2.仅仅适合创建一种类三、 AbstactFactoryFactory的升级版,可以... 阅读全文
posted @ 2015-10-08 22:35 fysola 阅读(252) 评论(0) 推荐(0) 编辑
摘要:// list.cpp : Defines the entry point for the console application.//#include "stdafx.h"#include using namespace std;typedef struct list_node { int data; list_node *left; list_node *right;} Node;Node *... 阅读全文
posted @ 2015-10-08 22:32 fysola 阅读(180) 评论(0) 推荐(0) 编辑
摘要:// sort.cpp : Defines the entry point for the console application.//#include "stdafx.h"#include using namespace std;void print ( int a[] ,int n ){ for ( int i=0;i a[j] ) { int tmp = a[i]; a[i] =... 阅读全文
posted @ 2015-10-08 22:32 fysola 阅读(179) 评论(0) 推荐(0) 编辑
摘要:// sort.cpp : Defines the entry point for the console application.//#include "stdafx.h"#include using namespace std;void print ( int a[] ,int n ){ for ( int i=0;i a[j] ) { int tmp = a[i]; a[i] =... 阅读全文
posted @ 2015-10-08 22:32 fysola 阅读(131) 评论(0) 推荐(0) 编辑
摘要:// BTree.cpp : Defines the entry point for the console application.//#include "stdafx.h"#include #include using namespace std;typedef struct BTree_node { int data ; BTree_node * left; BTree_node * rig... 阅读全文
posted @ 2015-10-08 22:30 fysola 阅读(218) 评论(0) 推荐(0) 编辑
摘要:#异步模型 #异步和同步 >同步,就是在发出一个功能调用时,在没有得到结果前,调用不返回 >异步,当一个异步过程调用发出后,调用者不能立即得到调用结果,而是通过状态,通知和回调来通知调用者。 >通过检查状态来判断异步调用结果,效率会很低,因为需要周期性检查状态 >回调函数和通知差不多 #同步调用与阻 阅读全文
posted @ 2015-09-20 01:13 fysola 阅读(476) 评论(0) 推荐(0) 编辑
摘要:#Socket事件 >FD_CONNECT:通常由Client端socket调用socket API函数时触发 >FD_ACCEPT:通常发生在server端的事件 >网络传输服务进程会向socket window (CSocketWnd,即消息池)发送 WM_SOCKET_NOTIFY 通知 网络 阅读全文
posted @ 2015-09-20 00:06 fysola 阅读(1241) 评论(0) 推荐(0) 编辑
摘要:线程间通信的两个基本问题是互斥和同步。 同步:一个线程的执行依赖于另一个线程的消息。 互斥:对共享资源的排他性,一个线程必须等待别的线程释放公共资源之后才能继续执行。 同步机制(Win32中):事件,信号量,互斥量,临界区 各种同步方式: #全局变量 win32多线程通信的最方式,但用全局变量同步会 阅读全文
posted @ 2015-09-18 00:24 fysola 阅读(403) 评论(0) 推荐(0) 编辑
摘要:#线程组成:内核对象,线程堆栈 #线程和进程的区别 >子进程和父进程有不同的代码和数据空间 >多个线程共享数据空间,每个线程有独立的执行堆栈和程序计数器 >多进程是为了节约时间,充分利用CPU。多线程视情况而定 >进程使用的资源比线程多得多 #线程创建 每个线程都需要有一个进入点函数,一个程序的主线 阅读全文
posted @ 2015-09-18 00:11 fysola 阅读(179) 评论(0) 推荐(0) 编辑
摘要:#进程的组成:内核对象(操作系统用来管理进程),地址空间(用于加载模块,DLL等) #进程速度制约:并发进程共享系统资源。导致速度制约,分为直接制约(同步),间接制约(互斥) #进程生命周期:就绪,执行,等待 #创建进程:CreateProcess, 将会创建新进程的主线程, 反回TRUE , 父进 阅读全文
posted @ 2015-09-18 00:10 fysola 阅读(136) 评论(0) 推荐(0) 编辑
摘要:预处理#宏定义求最大值 >#define MAX(x,y) ((x)>(y)?(x):(y))#const与define区别define >在编译前执行,无数据类型,仅仅在编译前做替换const存在于程序中数据段,分配空间,有数据类型与C中#define的异同在C++中的用法1. 与C中#define相同的功能:字符替换2. 保护数据3. 结合引用传递,保护数据,提高效率#const在C++中的... 阅读全文
posted @ 2015-09-16 22:42 fysola 阅读(1319) 评论(0) 推荐(0) 编辑
摘要:UDP是面向非连接的协议,因此在实现UDP服务器时,服务器不用总是处于监听状态。可以直接收发数据。 服务器端 1.初始化 WASStartup ( ... ) 2.创建Socket s = socket ( .. ) 3.绑定 bind( .. ) 4.收发数据 recvfrom( .. ) sen 阅读全文
posted @ 2015-09-15 21:18 fysola 阅读(1761) 评论(0) 推荐(0) 编辑
摘要:服务器 1.初始化 WSAStartup(..) 2.创建Socket s = Socket ( .. ) 3.绑定端口 ret = bind ( ... ) 4.监听 ret = listen ( .. ) 5.接收客户端的连接请求 s_new = accept ( ... ) // 三次握手发生 阅读全文
posted @ 2015-09-15 21:10 fysola 阅读(1490) 评论(0) 推荐(0) 编辑
摘要:TCP协议下,客户的和服务器的连接过程称为“三次握手” 第一次握手:建立连接时,客户的发送SYN包到服务器,并进入SYN_SEND状态,等待服务器确认。 第二次握手:服务器收到SYN包,必须确认客户的SYN包,同时自己也发送一个SYN包,即SYN+ACK包,此时服务器进入SYN_RECV状态。 第三 阅读全文
posted @ 2015-09-15 21:07 fysola 阅读(239) 评论(0) 推荐(0) 编辑
摘要:网络层的IP协议提供不可靠通信服务。TCP协议则解决了分组的重传和排序问题。 TCP通信特征 : 1)全双工,同时发送和接收数据 2)只支持两个端口之间的通信 3)基于字节流。对端无法知道报文的边界。例如发送4个512字节的数据,接收方并不清楚是4个512或是2个1024 TCP通信流程 来自为知笔 阅读全文
posted @ 2015-09-15 00:35 fysola 阅读(297) 评论(0) 推荐(0) 编辑
摘要:服务器常用模型 1.初始化Socket (用于监听) 1)初始化 SOCKET s ; s = Socket ( ... ) 2)绑定 bind(s, ...); 3)监听 listen(s, ...); 2.建立连接 1)检查状态 int ret = select ( ... ) ; if ( r 阅读全文
posted @ 2015-09-15 00:16 fysola 阅读(480) 评论(0) 推荐(0) 编辑
摘要:Socket是一种网络通信机制 Winsock系列函数 1. Socket 创建socket 2. Connect 尝试连接远端Socket 3. Send 在某个Socket 向远端发送数据 Winsock系列函数 1. Socket 创建socket 2. Connect 尝试连接远端Socke 阅读全文
posted @ 2015-09-14 22:53 fysola 阅读(323) 评论(0) 推荐(0) 编辑
摘要:1.网络协议定义 协议就是规则 协议包括:语法,语义和定时 2.OSI七层模型 OSI(开放系统互联)由ISO于1977年提出 七层 3.TCP/IP协议族 TCP/IP协议对应DAPPRA 4层模型 IP:网间协议(internet protocol),负责主机间数据的路由和网络上数据的存储,同时 阅读全文
posted @ 2015-09-13 12:20 fysola 阅读(163) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示