分类目录归档:Internet

xxfpm: 写了一个小巧的FastCGI进程管理器

经测试,支持Win32和Linux-x86平台。对于用php的人,有了这个东西来维护一定数量的进程,就能制服经常崩溃退出的php-cgi啦!!!

Usage: xxfpm path [-n number] [-i ip] [-p port]
Manage FastCGI processes.

-n, –number number of processes to keep
-i, –ip ip address to bind
-p, –port port to bind, default is 8000
-u, –user start processes using specified linux user
-g, –group start processes using specified linux group
-r, –root change root direcotry for the processes
-h, –help output usage information and exit
-v, –version output version information and exit

第一个写得比较标准的终端应用程序,我是看了cygwin的里的一些源代码,然后学会了如何使用getopt,算是写得比较标准的,但是代码也不短。

使用例子:
xxfpm z:/php5/php-cgi.exe -n 5 -p 8080

有人问,如何给程序加入参数?这个不难,使用双引号即可,路径要用”/”而不用”\”。例如要指定php.ini的路径,可以用下面例子:
xxfpm “z:/php5/php-cgi.exe -c z:/php5/php.ini” -n 5 -i 127.0.0.1 -p 8080

继续阅读

用纯C面向过程写icefox3的代码

6月底在Ubuntu下写了个框架,这几天发现写不下去了,又重新用Codelite组建了一次代码。还是采用纯C的代码,和以前的一些代码不同之处是,这次不打算使用面向对象的思想去指导我的代码,取以代之的是马列主义和毛泽东思想。似乎觉得面向过程更适合使用异步的socket,所以这次也没必要用到多线程编程了。

其实,我一直很赞成多线程编程在大多数时候能够把很复杂的东西变得很简单,只要能把资源管理好即可。而基于事件响应的编程通常连写一个最简单的ftp服务器程序都会变得异常复杂,尤其在使用非阻塞socket的时候。我所指的复杂和简单是针对建模和代码构建方面,而不是在代码量上。阅读一个多线程ftp服务器源代码比一个单线程异步的ftp服务器源代码要轻松得多。多线程的时候你只需要知道一个线程要做什么,其它的线程都是做相同的东西了。而且这些线程的工作都是有很严谨的执行顺序,先做什么后做什么。但是单线程异步的时候情况就不同了,往往一个线程在处理一个连接请求的时候又突然进入了等待状态,而紧接着又跑去了执行别的代码,这样一来你就不容易看出程序的执行次序和所做工作的流程图。

继续阅读

晚上写了个FastCGI进程管理器

之前一直使用单个进程都php-cgi。存在一个很严重都问题就是,php-cgi不稳定导致程序异常退出时,需要外部程序重新启动php-cgi。而且因为socket还要等待一段时间才能断开,所以要等一段时间(大概30多秒)才能重新启动成功。这样就产生了一段时间无法使用php都网页,很是烦恼。之前就一直想写一个php-cgi都进程管理器。
继续阅读

HTTP优化:使用gzip压缩所有文本文件

众所周知,wordpress实在是太大了,文件也多。使用syntaxhighlighter后,还多了一堆js文件。很有必要在文件传输上进行一下优化。
一般像搜索引擎等访问量大的页面都会使用到页面压缩以减少流量和减少服务器负担。通常采用的方法是在HTTP头里加入Content-Encoding选项。
一个典型的HTTP请求:

GET / HTTP/1.1
Host: xiaoxia.org
Connection: keep-alive
Accept: */*
User-Agent: Mozilla/5.0 Chrome/6.0.472.63 Safari/534.3
Accept-Encoding: gzip,deflate,sdch
Accept-Language: zh-CN,zh;q=0.8
Accept-Charset: GBK,utf-8;q=0.7,*;q=0.3
If-Modified-Since: Tue, 19 Oct 2010 04:33:34 GMT

继续阅读

终于用上WP

花了一天时间,奋战10多个小时。
终于比较成功地把原博客的数据库转移到现在的wordpress上来!
感觉wordpress真的慢得可怜,在速度上肯定比之前的慢很多,不过功能上也满足了。

我之前以为要直接把mysql里wp的数据库挖出来看看,后来发现通过后台管理面板的导入工具,可以很方便得导入符合一定格式的xml文件。所以,我花了一点心思写了一段php代码,把之前的数据库内容导出来,以wp格式输出来。
不过不是很顺利,我发现wp的数据库里没有单个帖子访问量的统计,需要使用插件才能实现这个功能。这个比较棘手,我后来直接把原来访问量的数据扔掉了,有点可惜,呵呵~

php代码:
继续阅读

我也想用wordpress

想在博客里添加几个站外链接,但是又有自己去编辑代码实现这个功能,颇为麻烦。

所以,有准备转向使用wordpress的冲动。

用wordpress免费,而且主题多,插件多,功能丰富,最佳选择~~

有时间先研究下wordpress的数据库结构,写个小工具把数据转移过去。

 

neptune大牛也把博客搬到我的vps上去了:www.nepnep.org

Bluetooth真强大

    用M8的蓝牙modem拨号上网真是折磨人,流量稍微大点或者时间一长,就悄然断网。还要重新启动windows服务才能重新拨号连接。通过蓝牙拨号上网的速度似乎没有像nokia pc套件那样通过usb来拨号上网那么流畅。

    今天下午测试了另外2款手机的蓝牙连接功能,发现基本上都能够支持通过蓝牙使用拨号网络。一个是SonyEricsson的w800c,另外一个是未知型号的国产机(支持双卡)。这两个蓝牙拨号做得比m8好,起码不会突然断了网。。。

    除了蓝牙拨号网络,还有其他像蓝牙FTP、蓝牙音频同步等。。。我仅在Windows7系统上做了测试。至于Ubuntu,我还不知道有没有自带蓝牙套件。但按照我的理解,可以肯定的一点是,这些通用功能只需要通过实现蓝牙通信里协议就能实现,而不是针对特定设备特殊化的。

 

 

A Simple Telnet Server

    以前好像用过telnet的聊天室,现在很少见有人玩这个了,基本上都用网页或者图形界面的程序登录聊天。今天简单地写了一个telnet的服务器程序。虽然代码很简短,但能支持多个人同时连接,可以扩展为一些使用的程序,例如聊天、游戏、控制等。通过特殊的控制字符,还可以让telnet输出有颜色的字符。通过按一定的帧速输出字符,可以作成视频,例如气泡熊的badapple。

 

    欢迎  telnet  xiaoxia.org  2010

 

    废话少说,上代码:

继续阅读

随手php,在线军事教程训练题

下午结束了军事理论考试,大概有接近一半的题目是昨晚训练过的吧,有印象就直接背答案。没印象的就悲剧了,只能瞎猜,例如试卷的第二题是

2) 我国的《国防教育法》一共有——篇——条。

A、4篇    38条      B、6篇    38条    C、4篇    28条    D、7篇    28条

这题就不会做,瞎猜了,而且我还猜错了。。。

昨晚从同学里弄来的一套选择题和判断题,合计190多道,花了一点时间用php做成了网页给自己测试:

点击此链接开始  http://xiaoxia.org/sub/jstest

继续阅读