文章列表
 
2010年03月16日 星期二 20:58
更改当前用户的shell提示符可通过修改~/.bashrc文件中的PS1参数值实现,如果只是临时更改当前提示符,只需使用export命令:export PS1=" “。 一个PS1值示例 PS1='[\[\033[01;32m\]\h:\[\033[01;34m\]\W\[\033[00m\]]\$' 将上面PS1中有用的信息提取出来就是:PS1='[\h:\W]\$' \h:显示当前主机名称 \W:显示当前目录 \$:提示符,如果是root时,提示符为# ,普通用户则为$ []:为了美观 其他部分是颜色设置: \[\033[01;32m\]:主机名称显示绿色 \[\033[01;34m\]:当前目录显示蓝色 \[\033[00m\]:将后面的颜色设为默认 添加颜色
 
2010年02月06日 星期六 12:15
      上课时,我放了一个屁——很普通的屁。既不很臭,当然也绝对不香。
可怕的是,教授正在讲辩证法。
“请你自己对这个屁作一下判断,”教授说,“它好还是不好?”
我只得说:“不好。”
“错了,”教授说,“任何事物都有矛盾组成,有它不好的一面,肯定有它好的一面。”
“那么说它好也不对了?”我问。
“当然。”教授说。
“它既好又不好。”
“错了。你只看到矛盾双方对立斗争的一面,没有看到他们统一的一面。”
我只好认真看待这个严肃的问题,仔细想了想说:
 
2009年11月27日 星期五 22:08
这个示例将用ACE Proactor来实现echo server
代码量差不多只有完成端口的1/3

ACE Reactor的实现
http://hi.baidu.com/tty0/blog/item/32644b1365deb1daf6039ee9.html

完成端口的实现
http://www.cppblog.com/sandy/archive/2007/06/06/25670.html


当然如果你理解了完成端口,ACE Proactor就很简单了

 
2009年11月27日 星期五 22:01
Echo server就是那种提供回显服务的程序,就是收到什么,然后就发送什么的程序。

两种实现方法

1.Per client Per Thread (每个连接每个线程来处理)

这种方式比较简单,易于实现。缺点是如果有大量的连接,必然占用过量的系统资源。

代码:

#ifdef _DEBUG
 
2009年11月27日 星期五 21:59
这个系列,我将把我学ACE写的一些小程序,放上来跟大家share.

所谓Time Server,很简单,就是用户连上来的时候,返回系统时间。这可能是最简单的server端程序了。

代码:

#ifdef _DEBUG
#pragma comment(lib,
"
 
2009年11月27日 星期五 21:58

1.download ACE from: www.cs.wustl.edu/~schmidt/ACE.html

2.build ACE in Visual Studio,generate ACE.lib(dll)[for release] & ACEd.lib(dll)[for debug]

3.create a empty project named: ACETest

4.add ACE path into Project Include Path and add ACE/lib into project lib path

5.create a file(hello.cpp)

 
2009年09月22日 星期二 14:03
注:有种更安全的办法,我一时忘记了,先转载这篇。。。

有些时候,我们在复制/移动文件到另一台机器时会用到scp,因为它比较安全。但如果每次 都要输入密码,就比较烦了,尤其是在script里。不过,ssh有另一种用密钥对来验证的方 式。下面写出我生成密匙对的过程,供大家参考。

第一步:生成密匙对,我用的是rsa的密钥。使用命令 "ssh-keygen -t rsa"


 
2009年05月06日 星期三 12:56

领导者/追随者(Leader/Followers)模型和半同步/半异步(half-sync/half-async)模型都是常用的客户-服务器编程模型。这几天翻了些文章,发现对领导者/追随者模型说的比较少,下面就这个模型打个比方:

  1. 话说一个地方有一群有组织无纪律的人从事山贼这个很有前途的职业。
  2. 一般就是有一个山贼在山路口察看,其他人在林子里面睡觉。
  3. 假如发现有落单的过往客商,望风的山贼就会弄醒一个睡觉的山贼,然后自己去打劫。
  4. 醒来的山贼接替作望风的事情。
 
2009年05月06日 星期三 12:17
epoll有两种模式,Edge Triggered(简称ET) 和 Level Triggered(简称LT).在采用这两种模式时要注意的是,如果采用ET模式,那么仅当状态发生变化时才会通知,而采用LT模式类似于原来的 select/poll操作,只要还有没有处理的事件就会一直通知.

以代码来说明问题:
首先给出server的代码,需要说明的是每次accept的连接,加入可读集的时候采用的都是ET模式,而且接收缓冲区是5字节的,也就是每次只接收5字节的数据:
 
2009年05月05日 星期二 23:52

一、安装TexLive+Latex+CJK:

打开终端,执行下述命令安装TexLive和常用的一些Latex宏包(可以根据自己的需要增改):

sudo apt-get install texlive texlive-math-extra texlive-latex-base texlive-latex-extra texlive-latex-recommended texlive-pictures texlive-science texlive-bibtex-extra texlive-common latex-beamer

如果硬盘充裕的话,直接完整安装也可以:

sudo apt-get in

 
   
 
 
文章分类
 
 
 
Web(2)
 
 
 
 
c++(1)
 
 
Ace(4)
 
   
 
文章存档
 
     
 
最新文章评论
  

这个写的很不错!
 

正在学习LaTeX但是CJK中文字体的问题,困扰了我好几天。 我在生成字体的时候,并没有
 

顶,文章真不错!
 

这么old的,你也转啊
 

回复hardygu:呵呵,转帖而已~缺乏大规模并发编程的经验啊
   
帮助中心 | 空间客服 | 投诉中心 | 空间协议
©2012 Baidu