05 2008 档案

《Using Flash Media Server Edge Servers》读后感
摘要:简单谈谈读完Adobe的《Using Flash Media Server Edge Servers》这份20页的文档的感受。 如下图所示,大体应该分成3个层次,客户层,Edge Server层(可能还要加入集群,Load balancer等),Origin Server层。 先看客户端,当客户连接到Edge Server集群时,集群中的每个Edge Server会计算一个值,并返回给客户端,... 阅读全文

posted @ 2008-05-30 16:09 Phinecos(洞庭散人) 阅读(1493) 评论(3) 推荐(0) 编辑

《UNIX网络编程 卷2》读书笔记(五)
摘要:void my_lock(int fd){ struct flock lock; lock.l_type = F_WRLCK; lock.l_whence = SEEK_SET; lock.l_start = 0; lock.l_len = 0; /**//* write lock entire file */ Fcntl(f... 阅读全文

posted @ 2008-05-29 22:11 Phinecos(洞庭散人) 阅读(797) 评论(0) 推荐(0) 编辑

《XPCOM组件开发》笔记(一)
摘要:本书是关于Gecko和基于Gecko应用程序来开发XPCOM组件的。简介部分探讨组件的概念,第一章你将编译简单的代码并注册到Mozilla中,此时会探讨组件和模块之间的关系,XPCOM接口以及注册的过程。 假定读者熟悉C++中的继承和封装,很多例子是javascript的,它用来做完脚本对象在Mozilla中访问XPCOM组件,因此熟悉它也是很好的。 XPCOM... 阅读全文

posted @ 2008-05-29 21:59 Phinecos(洞庭散人) 阅读(3302) 评论(2) 推荐(0) 编辑

《UNIX网络编程 卷2》读书笔记(四)
摘要:/**//* include globals */#include "unpipc.h"#define MAXNITEMS 1000000#define MAXNTHREADS 100 /**//* globals shared by threads */int nitems; /**... 阅读全文

posted @ 2008-05-28 14:52 Phinecos(洞庭散人) 阅读(959) 评论(0) 推荐(0) 编辑

《UNIX网络编程 卷2》读书笔记(三)
摘要:多个生产者,单个消费者,只考虑生产者之间的同步互斥 #include "unpipc.h"#define MAXNITEMS 1000000#define MAXNTHREADS 100int nitems; /**//* read-only by producer and consumer */struc... 阅读全文

posted @ 2008-05-28 13:14 Phinecos(洞庭散人) 阅读(1194) 评论(0) 推荐(0) 编辑

基于Mozilla Thunderbird的扩展开发(八)---进程间通信之Socket篇(续)
摘要:最近遇到这样一个需求:在我们的MFC程序中控制Thunderbird。拿到这个奇怪的需求后,有了这么几个想法:1)用全局钩子试着勾住Thunderbird,可细想好像不对。2)用spy++探查点击Thunderbird的各个菜单,按钮时触发的事件,总归是win32平台上跑的程序,归根到底还是事件触发,从理论上说应该是可以在我们自己的MFC程序中模拟目标程序中的各个事件触发。 但接触到Mozilla的socket方面的知识后,放弃了上面的想法,改用socket通信来实现此需求。一来Thunderbird源代码可以自行修改,因此可以加入一些代码使之成为一个类似HTTP服务器的服务器端程序,二来使用socket进行连接与语言无关,因此C++的程序可以和javascript的程序完成通信,但缺点也很明显,要占用端口,只涉及到本地机器的通信却使用了socket这样的网络通信机制。 阅读全文

posted @ 2008-05-27 22:19 Phinecos(洞庭散人) 阅读(2364) 评论(4) 推荐(0) 编辑

《UNIX网络编程 卷2》读书笔记(二)
摘要:如何知道进程在一个空消息队列中放入一个消息?如果阻塞在msgrcv调用中,则除了等待无法做其他事情,如果给msgrcv指定非阻塞标志(IPC_NOWAIT),尽管不阻塞了,但必须持续调用该函数来确定何时有消息到达,也就是采用轮询方式(polling),Posix消息队列允许异步事件通知来通知何时有消息放入到某个空消息队列中,有2种方式: 1)产生一个信号 2)创建一个线程执行一个指定函... 阅读全文

posted @ 2008-05-27 16:27 Phinecos(洞庭散人) 阅读(2270) 评论(0) 推荐(0) 编辑

《UNIX网络编程 卷2》读书笔记(一)
摘要:1,获取Posix IPC的名字 #include "unpipc.h"char* px_ipc_name(const char* name){ char* dir,*dst,*slash; if((dst = malloc(PATH_MAX))==NULL) return NULL;//分配失败 if((dir=getenv("PX_IPC_NAME"))==NU... 阅读全文

posted @ 2008-05-26 21:50 Phinecos(洞庭散人) 阅读(2068) 评论(0) 推荐(1) 编辑

基于Mozilla Thunderbird的扩展开发(七)---工欲善其事,必先利其器
摘要: Mozilla最为人诟病的地方就是没有称手的开发工具,这对于我们这些被微软惯坏的开发人员来说,如果没有Visual Studio这样舒服的工具的话,谁会投入你的怀抱呢?本文就希望从三个方面介绍下我所了解到的Mozilla 平台下的开发工具及一些小技巧。 阅读全文

posted @ 2008-05-21 21:31 Phinecos(洞庭散人) 阅读(3883) 评论(4) 推荐(0) 编辑

构造Soap请求调用Web Services(三)
摘要:在《用Soap消息调用Web Services(续)》这篇文章中介绍了如何在客户端发送Soap请求去调用服务器端的Web Service并输出服务器返回的结果,但还存在两个弱点,本文的目的就是对其进行改进,使得构造Soap请求发送到服务器端的流程完整。 上文的弱点有二:1)Soap请求是一个XML文件,而非灵活构造出来的。2)服务器端返回的结果仅仅是输出到控制台,而没有进... 阅读全文

posted @ 2008-05-21 12:27 Phinecos(洞庭散人) 阅读(5287) 评论(2) 推荐(0) 编辑

基于Mozilla Thunderbird的扩展开发(六)---进程间通信之Socket篇(下)
摘要: 在上一篇《基于MozillaThunderBird的扩展开发(五)---进程间通信之Socket篇(上)》中开发了一个简单的TCP服务器,本文将介绍其对应的客户端。 阅读全文

posted @ 2008-05-20 22:09 Phinecos(洞庭散人) 阅读(2204) 评论(0) 推荐(0) 编辑

基于Mozilla Thunderbird的扩展开发(五)---进程间通信之Socket篇(上)
摘要: 这个系列的前两篇文章主要是根据自己的需求,对Thunderbird的源代码进行修改,改进了Thunderbird的现有功能,关注点都在Thunderbird的老本行---邮件客户端的实现上,那是否Thunderbird就仅仅是一个邮件客户端呢?在我看来,并非如此,它源自Mozilla内核,就继承了Mozilla平台的光荣传统,应该视为一个优秀的可扩展的开发平台,更进一步来看,Mozilla的文化深入其骨髓可以看到后来Adobe的Flex,MicroSoft的WPF都吸收了Mozilla平台界面与逻辑相分离的思想,所以接下来几篇文章我想写一个比较有意思的方面----进程间通信。 进程间通信的概念在操作系统中有过详细的介绍,方法很多,我主要关注两种:socket通信,Pipe(管道)通信。 本文的目的就是开发一个扩展,展示TCP/IP socket技术在Mozilla扩展开发中的应用。 阅读全文

posted @ 2008-05-19 21:12 Phinecos(洞庭散人) 阅读(2625) 评论(3) 推荐(0) 编辑

基于Mozilla Thunderbird的扩展开发(四)---修改Thunderbird源代码实现自动保存附件
摘要: 在上一篇《基于MozillaThunderbird的扩展开发(三)---如何获取邮件的完整信息》中给出了一种简单的获取邮件的完整信息(包括正文和附件等)的方法,但仔细考虑后发现离实际需求还有一段距离。 Thunderbird中已经有保存附件的功能,但需要手动去操作,既然手头有它的源代码,为什么我们不自己尝试对它进行修改,从而使得它能自动保存所有附件呢?Ok,这篇文章就是基于这样思想的一个尝试。 首先明确一个前提,本文并不想开发一个扩展,而是尝试直接修改Thunderbird的源代码,但你也可以将它修改为一个扩展,这里为了调试开发简单起见,因此我选择了直接修改其代码。 阅读全文

posted @ 2008-05-18 20:06 Phinecos(洞庭散人) 阅读(3825) 评论(7) 推荐(0) 编辑

C++ Exercises(十三)
摘要:P61,练习2解答 1,#include using namespace std;//筛法求素数void FilterPrime(int n){ bool* isPrimes = new bool[n+1]; for(int i=2;i>num; FilterPrime(num); system("pause"); return 0;} 2,#include usin... 阅读全文

posted @ 2008-05-10 22:08 Phinecos(洞庭散人) 阅读(518) 评论(0) 推荐(0) 编辑

C++ Exercises(十二)
摘要:钱能《C++程序设计教材》P14 日期数据存在在文件abc.txt中,格式如下面所示,若年,月,日加起来等于15,则收集,然后按日期从小到大的顺序打印出来 Sample Input: 03-11-1203-08-1204-08-1102-07-06 Sample Output: 02年07月06日03年08月04日 1,c++版本 #include #include #... 阅读全文

posted @ 2008-05-09 20:23 Phinecos(洞庭散人) 阅读(441) 评论(0) 推荐(0) 编辑

基于Mozilla ThunderBird的扩展开发(三)---如何获取邮件的完整信息
摘要:如果你没有读过ThunderBird的源代码,也许会和我一样想当然地认为里面肯定有某个数据结构用于存储邮件的正文和附件等信息,但如果你读过了代码,那么也会和我一样感到遗憾,居然没有这样完整的数据结构!里面有一个表示邮件头的XPCOM 组件 nsIMsgHdr , 但mozilla这帮人却没有定义一个用来表示邮件(包括邮件头,正文,附件等信息)的组件" nsIMsg"呢... 阅读全文

posted @ 2008-05-05 22:14 Phinecos(洞庭散人) 阅读(3508) 评论(3) 推荐(0) 编辑

Java并发笔记(一)
摘要:1,public class HelloRunnable implements Runnable { public void run() { System.out.println("Hello from a thread!"); } public static void main(String args[]) { (new Thread(new Hel... 阅读全文

posted @ 2008-05-05 21:24 Phinecos(洞庭散人) 阅读(757) 评论(0) 推荐(0) 编辑

导航