摘要: 由于项目的需要,需要对一个分布式文件系统进行深入的学习,在MooseFS(MFS)和Hadoop的HDFS进行了大概一周的文档阅读、比较和资料的查阅,还是决定了用Apache的Hadoop开源项目进行开发,功能更强大,面向对象语言的开发(Java)而且比较大的开源组织的支持,文档也比较齐全,虽然都是基于Google File System(GFS)的实现,但是HDFS还是保留了更多的GFS的特性。支持超大文件的存储,高容错性(比MFS)且提供高吞吐量的数据访问,对于项目的需求来说,已经足以。经过1天的资料阅读、软件安装与配置,终于搞定了Linux Ubuntu下 Hadoop 1.0.3版本的 阅读全文
posted @ 2012-06-12 11:29 hanyuanbo 阅读(2505) 评论(0) 推荐(1) 编辑
摘要: 人的差别在于业余时间,人的命运决定于晚上8点到10点之间。每晚抽出2个小时的时间用来阅读、进修、思考或参加有意的演讲、讨论,然后会发现,人生正在发生改变,坚持数年之后,一切都会发生改变。不要每天抱着QQ/MSN/游戏/电影/肥皂剧…奋斗到12点都舍不得休息,看就看一些励志的影视或者文章,但不要当作消遣,学会思考,学会感悟,慢慢的,人生将会发生变化。 阅读全文
posted @ 2012-06-01 11:14 hanyuanbo 阅读(152) 评论(0) 推荐(0) 编辑
摘要: #include <iostream>using namespace std;void print(int);typedef struct { void (*print)(int num);}TEST, *PTEST;int main(){ TEST test; test.print = print; test.print(10); TEST test2 = {print}; test2.print(20); return 0;}void print(int num){ cout << num << endl;} 阅读全文
posted @ 2012-05-31 10:29 hanyuanbo 阅读(170) 评论(0) 推荐(0) 编辑
摘要: 使用Select异步模式来实现返送示例。服务器启动并监听9999端口,并将收到的客户端信息打印并返送给客户端。重点理解的是:一个套接字是否是可读、可写状态。当服务器端socket在Accept成功之后,便是可读状态,接收客户端发送数据。当客户端发送recv函数时,这个socket便成为可写状态,服务器端便知道这个客户端可写,然后根据自己的定义发送给客户端内容。如果客户端不发送recv函数,即下面Client中的recv函数的话,服务器端保存的客户端这个socket便没有进入可写状态的时候,也就不会有回送的情况发生。ServerServer 1 #include <WINSOCK2.H&g 阅读全文
posted @ 2012-04-01 00:29 hanyuanbo 阅读(8394) 评论(2) 推荐(1) 编辑
摘要: 1. Windows平台提供了5种非阻塞Socket编程模型:Select模型(集合管理多个Socket,集合中有64个元素,可以管理1024个socket)WSAAsyncSelect模型(消息通知应用程序)WSAEventSelect模型(事件通知应用程序)每次只能等待64个事件重叠I/O模型(Overlapped I/O,事件通知和完成例程来通知应用程序)事件通知即通过事件来通知应用程序I/O操作已完成,完成例程则是预先定义的回调函数。完成端口模型(Completion Port)比较成熟,使用线程池来处理异步I/O请求2. ioctlsocketint PASCAL FAR ioctl 阅读全文
posted @ 2012-03-31 11:34 hanyuanbo 阅读(7175) 评论(0) 推荐(3) 编辑
摘要: 主要是winSock的函数的使用,代码只是示例如何使用,没有什么很特别的地方。同步winSock编程比较简单,高级部分需要看异步socket编程。Tcp示例代码功能:服务器端启动并等待客户端信息,收到信息处理并显示,然后将信息回送给客户端,客户端再显示。TcpServerTcpServer 1 #include <winsock2.h> 2 #include <iostream> 3 #pragma comment(lib, "ws2_32.lib") 4 5 using namespace std; 6 7 #define BUFSIZE 64 8 阅读全文
posted @ 2012-03-31 10:30 hanyuanbo 阅读(690) 评论(0) 推荐(0) 编辑
摘要: CriticalSection(同一进程间的线程通信,速度快但是可能会产生死锁)CriticalSection 1 #include <windows.h> 2 #include <iostream> 3 4 using namespace std; 5 6 DWORD WINAPI Fun1Proc(LPVOID lpParameter); 7 DWORD WINAPI Fun2Proc(LPVOID lpParameter); 8 9 int tickets=10;10 CRITICAL_SECTION g_cs;11 12 void main()13 {14 co 阅读全文
posted @ 2012-03-30 15:17 hanyuanbo 阅读(870) 评论(0) 推荐(0) 编辑
摘要: 以下是在vs2008上写的孙鑫老师第十五讲中的聊天室程序,里面花时间最多的是CString、string和char*之间的转换。 由于初学,目前的解决办法中将 字符集 进行了设置,不知道这样对程序的健壮性或者可移植性有没有影响,不管怎样,实现出来了。下面是设置字符集的截图。下面是ChatDlg.h 文件ChatDlg.h 1 // ChatDlg.h : 头文件 2 // 3 4 #pragma once 5 6 #define WM_RECVDATA WM_USER + 1 7 8 typedef struct 9 {10 SOCKET sock;11 HWND hwn... 阅读全文
posted @ 2012-03-28 11:34 hanyuanbo 阅读(1088) 评论(0) 推荐(0) 编辑