wayne's blog

在一秒钟的时间里,也可以突然很感动!~

  DonewsBlog  |  Donews首页  |  Donews社区  |  Donews邮箱  |  我的首页  |  联系作者  |  聚合   |  登录
  139篇文章 :: 0篇收藏:: 54篇评论:: 1个Trackbacks

公告


使用 POTU 订阅!


Subscribe in My MSN

文章

收藏

相册

友情

存档


正在读取评论……


2006年04月



    摘要:#> /stand/sysinstall              安装系统软件    (全文共1453字)——点击此处阅读全文




    摘要:一 安装mysql4.1shell> pw groupadd mysqlshell> pw useradd mysql -g mysql -s /nonexistentshell> cd /usr/localshell> tar zxvf MYSQL-VERSION-OS.tar.gz  -C /usr/localshell> mv  FULL-PATH-TO-MYSQL-VERSION-OS mysqlshell> cd mysqlshell> scripts/mysql_install_db --user=mysqlshell> chown -R root  .shell> chown -R mysql datashell> chgrp -R mysql .shell> bin/mysqld_safe --user=mysql &把my    (全文共5867字)——点击此处阅读全文




    摘要:由于新的网站开放了上传功能,为了服务器免遭病毒侵害,选择安装Clam AntiVirus。官方主页:http://www.clamav.net/目前最新的版本是0.88,注意要使用最新版的才能升级病毒库最近此处阅读全文




    摘要:NetStream类相信大家都知道,帮助里有的我就不说了,下面是我在应用中学到的东西,拿出来和大家分享一下。

NetStream class有一个事件处理函数onMetaData(这个帮助里可没有哦)。
NetStream.onMetaData = function (MetaObject){//得到Meta信息
      trace(Math.round(MetaObject.duration));//得到视频流的长度
};
当然Meta信息中包括很多,如果我们不知道他们的名字是什么,可以用fo    (全文共1382字)——点击此处阅读全文



参考:http://www.flashempire.com/school/tutorview.php?id=586

  本文部分内容来自emllab,在后部分,加入了本人的一个整合范例,中文译文转载请注明本站出处.

  在过去的一年里,对于开发人员来说使用flash与javascript通讯总会碰到一些麻烦的事情,从flash调用javascript函数已经没有什么问题了,因为我们可以使用getURL方法来直接调用,但是要想使用javascript返回flash在许多浏览器上几乎是不可能的。但是现在可以了。
Flash8的出现,这件事就变的比较容易了。J

  The ExternalInterface API
  
  之前我们使用flash调用javascript函数,一般使用这样的方法:

代码:

getURL(“javascript:alert(‘hello webstudio.com.cn’);”); 

  但是使用这种方法从flash调用javascript函数仍存在许多困难。特别是在处理多个javascript函数调用问题上。ExternalInterface API可以与javascript实现无缝调用,并且它的能力达到可以在flash时间线使用。

  在我们正式进入它的使用方法之前,我们需要确保在flash时间上可用,就要导入它的类向这样:

代码:

import flash.external.*; 

  现在它已经允许我们做的第一件事就是可以调用javascript函数了。

  Call 调用方法

  call方法对于ExternalInterface对象来说是一个静态方法,也就是说我们不需要使用ExternalInterface对象的实例来调用方法,我们可以直接通过对象类来调用,向这样:

代码:

ExternalInterface.call(functionName:String,Parameters);  

这个方法有两个参数:
· functionName – 你想要调用的javascript函数名要以字符串的形式
· Parameters – 需要传递给javascript函数的参数,用逗号分开,是可选的。
这些是基本的内容,现在让我们来看一个例子:
1. 创建一个flash文档命名为external1.fla.
2. 创建两个层上面的层命为AS,下面的层命名为”内容”
3. 在内容层里面,创建一个文本域,将它设置为输入文本域,打开显示边框以方便你能看到,并给它取个名字为alert_txt,将它放在场景的左边。
4. 仍然在内容这一层上,拖动一个按钮组件于场景中并把它放在动态文本的右边,设置它的label为”Alert”并给它起个名字为alert_butn.
5. 选择上方的as层在第一帧上输入代码,
6. //调用alert
7.
代码:

import flash.external.*; 
alert_butn.clickHandler = function() {
ExternalInterface.call("alert", alert_txt.text);
}

  前面部分的代码是导入ExternalInterface类包。然后为按钮组件设置事件,当点击时调用javascript函数,并将文本中输入的文本通过externalInterface传递给javascript函数。
现在发布你的影片,将它和html放在服务器上,当你在服务器上测试时不论你在文本中输入什么信息,它都将显示在alert对话框中,但是如果你在本地测试,你可能就会发现当你点击按钮时,什么也没发生,这是由flashplayer的安全特性造成的。

  演示文件

  上面这个范例是一个方法的例子,使用getURL方法也可以做到,然而externalinterface不只是能做到这些,除了发送信息给javascript,它还可以通过addCallback方法接收从javascript返回的信息。

  addCallback 方法

  AddCallback方法允许javascript调用flash时间上函数,基本的语法结构如下:

代码:

import flash.external.*; 
alert_butn.clickHandler = function() {
ExternalInterface.call("alert", alert_txt.text);
}

与call方法类似,它也是一个静态方法,它有三个参数
·functionID - 从 JavaScript 调用 ActionScript 函数时可使用的名称。此名称不必与 ActionScript 方法的实际名称匹配。
·instance - this 在该方法中被解析成的对象。此对象不一定是在其上可找到该方法的对象,您可以指定任何对象(或 null)。
·functionName - 要从 JavaScript 调用的 ActionScript 方法。

现在让我们开始一个例子,在这个例子中我们将使用flash调用javascript的命令来请示用户输入色值,当色值输入后点击ok,对象返回到flash并更改它的色彩,如下方法:
1.创建一个flash文档命名为external2.fla.
2.与第一个例子相同,创建两层上层命名为as.下层命名为“内容”。
3.在内容层拖动一个按钮组件至场景中,放在左上方,将label设为”变色”,实例名为change_butn.
4.确保当前在”内容层”,绘制一个色值为0x000000的盒子,大小为100*100,当然这个没有限制。
5.将这个方块转换为movieclip.实例名称命名为rec_mc.
6.在第一帧上输入代码如下:

代码:

import flash.external.*; 
//改变方块的色彩
function onChange(clr:Number) {
var temp_color:Color = new Color(rec_mc);
temp_color.setRGB(clr);
}
//允许javascript调用onChang函数
ExternalInterface.addCallback("onChange", this, onChange);
//打开命今窗口
change_butn.clickHandler = function() {
ExternalInterface.call("callPrompt", "你想用什么的色彩? (ex: 0xff0000)");
}

  在代码的前边我们要先导入externalinterface类包,然后我们创建一个能改变场景中方块色彩的函数,完成后,我们调用addCallback方法以使javascript可以调用flash的onChang函数。最后,我们针对按钮创建事件来调用javascript命令。

  你需要发布swf和html,然后用编辑软件打开编辑器,如果你只是从flash调用javascirpt,那么你什么也不用做。但是如果你需要使用javascirpt调用flash函数,还有一些小的工作需要做。

  在tilte标签的下方加入下面的javascript代码:如下:

代码:

<script language=JavaScript> 
var me; //代表swf的id
//获取正确的引用
function getID(swfID) {
if (navigator.appName.indexOf("Microsoft") > -1) {
me = window[swfID];
} else {
me = document[swfID];
}
}
//下面这段调用onChang函数并返回到flash.
function makeCall(str){
me.onChange(str);
}
//下面这个函数是被flash调用的。
function callPrompt(str){
makeCall(prompt(str));
}
</script>

  开始,我们创建变量me来存放swf的引用。如果没有它,我们不能调用flash函数。然后我们使用函数getID通过条件针对不同的浏览器来设置引用,之后,我们创建makeCall函数,用来调用flash函数,最后我们创建由flash来调用的函数callPromt().它将调用makeCall函数来发送信息返回到flash.

  在html的body标签的属性中加入onload,并设置它等于getID函数,如下:

代码:

<body bgcolor="#ffffff" onload="getID('external2');">

  注意,当我们设函数给onload事件,我们传递给它swf的id.它可以在swf的嵌入位置找到,现在,当页初始化完成后,函数getID将被调用,变量me就会被设置,以使javascript可以调用flash函数。
将文件上传到服务器上,并进行测试,当你点击按钮并在提示中输入色彩值,flash中的方块色就会改变。如下。

  演示文件

  在弹出窗口时如果你没有输入色彩值,而是点击了取消,会返回null空回flash.flash中的方块仍会保持原色。

  最终源文件下载(source)

  本人对上面的内容进行了一下整合,制作了一个终合范例,集成有显示swf信息,获取网址,调用对话框.

  范例演示

(完)





    摘要:ignoreWhite  : 可以设置为 ture 或 false 在xml分析过程中将放弃仅包含空白的文本节点    (全文共676字)——点击此处阅读全文




    摘要:        MRTG是工作在SNMP协议上的,你必须安装SNMP才能启动MRTG来观测你的网络,我就是没有配置好NET-SNMP,所以MRTG显示出来的会没有图形的,我就是犯了这样的错误。有的网络上要求装UCD-SNMP,我的redhat 9.0默认装的是net-snmp,所以我就没有用ucd-snmp,没有试过,不过我想应该是大同小异吧。 1.首先来安装配置net-snmp #rpm –ivh net-snmp-5.06-17 #一般redhat9.0会默认安装上去的。 #vi /etc/snmp/snmpd.conf #安装完以后,配置/etc/snmp/snmpd.conf文件,使其能配合mrtg工作。 转到90行把下面的#号去掉 #view mib2 included .iso.org.dod.internet.mgmt.mib-2 fc #在89行 把下面的语句#在62行 access notConfigG    (全文共5590字)——点击此处阅读全文



安装rsync

在AS3 第二张CD上找到rsync-2.5.6-20.i386.rpm

[root@linuxas3 root]# cd /mnt
[root@linuxas3 mnt]# mount cdrom
[root@linuxas3 mnt]# cd cdrom/RedHat/RPMS
[root@linuxas3 RPMS]# rpm -ivh rsync-2.5.6-20.i386.rpm
                                

服务器端设置

配置/etc/rsyncd.conf

在rh9,as3系统上rsync安装后,并没有创建rsyncd.conf文档,笔者是自己创建的rsyncd.conf文档

[root@linuxas3 root]# vi /etc/rsyncd.conf

uid=root
gid=root
max connections=4
use chroot=no
log file=/var/log/rsyncd.log
pid file=/var/run/rsyncd.pid
lock file=/var/run/rsyncd.lock
#auth users=backup
secrets file=/etc/rsyncd.pwd

[www]
path=/var/mail
comment = backup mail
ignore errors
read only = yes
list = yes
auth users = postfix

[netkiller]
path=/home/netkiller/web
comment = backup 9812.net
ignore errors
read only = yes
list = no
auth users = netkiller

[pgsqldb]
path=/var/lib/pgsql
comment = backup postgresql database
ignore errors
read only = yes
list = no

                                

选择说明

uid = nobody
gid = nobody
use chroot = no         # 不使用chroot
max connections = 4     # 最大连接数为4
pid file = /var/run/rsyncd.pid           #进程ID文件
lock file = /var/run/rsync.lock
log file = /var/log/rsyncd.log    # 日志记录文件
secrets file = /etc/rsyncd.pwd    # 认证文件名,主要保存用户密码,权限建议设为600,所有者root

[module]            # 这里是认证的模块名,在client端需要指定
path = /var/mail    # 需要做镜像的目录
comment = backup xxxx # 注释
ignore errors         # 可以忽略一些无关的IO错误
read only = yes       # 只读
list = no             # 不允许列文件
auth users = postfix  # 认证的用户名,如果没有这行,则表明是匿名

[other]
path = /path/to...
comment = xxxxx


密码文件

在server端生成一个密码文件/etc/rsyncd.pwd

[root@linuxas3 root]# echo postfi:xxx > /etc/rsyncd.pwd
[root@linuxas3 root]# echo netkiller:xxx > /etc/rsyncd.pwd
[root@linuxas3 root]# chmod 600 /etc/rsyncd.pwd

开启服务器端的rsync
# vi /etc/services

  services并不是rsync的配置文件,这一步也可以不做。而修改了services文件的好处就在于系统知道873端口对就的服务名为rsync。修改services的方法就是确保services中有如下两行,没有的话就自行加入:

  rsync  873/tcp  # rsync
  rsync  873/udp  # rsync

  5./etc/xinetd.d/rsync

  # vi /etc/xinetd.d/rsync

  建立一个名为/etc/xinetd.d/rsync文件,输入以下内容:

  service rsync
  {
    disable = no
    socket_type  = stream
    wait      = no
    user      = root
    server     = /usr/local/rsync/
    server_args  = --daemon
    log_on_failure += USERID
  }

  保存后,就可以运行rsync服务了。输入以下命令:

  # service xinetd restart
       # /etc/rc.d/init.d/xinetd reload

  这样rsync服务就在这台机器上(192.168.100.21)运行起来了,接下来就是如何来使用它了。



备份端
# vi rsyncd.sh
rsync -rvlHtpogDtS --verbose --progress --delete --password-file=/backup/rsyncd.pwd backup@www.domain.cn::www_mysql /backup/mysql/www/

#crontab -e
01 04 * * * /etc/rsyncd.sh  
每天凌晨4点01分执行  





    摘要:

一、安装过程

  1.下载rsync

  目前(2003年9月)最新的rsync版本是2.5.6,从rysnc的官方网站上下载一个回来:

  # wget http://ftp.samba.org/ftp/rsync/rsync-2.5.6.tar.gz

  2.解压

  # tar -xzpvf rsync-2.5.6.tar.gz

  3.编译安装

  # cd rsync-2.5.6/
  # ./configure --prefix=/usr/local/rsync
  # make
  # make install

  以上过程没有出现的话就安装好了,现在就有rsync命令可以用了,rsync命令放在/usr/local/rsync/bin。用rsync命令可以去运行有rsync服务的服务器上抓取资料。

  如果    (全文共6197字)——点击此处阅读全文





    摘要:SetEnvIf Request_URI "\.gif$" dontlog
SetEnvIf Request_URI "\.jpg$" dontlog
SetEnvIf Request_URI "\.css$" dontlog
CustomLog "|/usr/local/sbin/cronolog /data/www/logs/%Y/%m/%d/access.log" custom env=!dontlog
ErrorLog "|/usr/local/sbin/cronolog /data/www/logs/%Y/%m/%d/error.log"    (全文共343字)——点击此处阅读全文