Latest Entries »

red5教程

版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明

http://vsheyan.blogbus.com/logs/46456225.html

公司今天需要装一台RED5的服务器用来开发程序。发现RED5的0.6已经正式放出,以前我写过一篇关于用SVN进行抽取,然后建立RED5项目的文 章。而对于一般的开发者来说,不需要去修改RED5本身的程序,只需要建立自己的应用程序就可以了。现在把建立过程记录下来,希望对各位有所帮助。本文适 合第一次接触RED5(WIN平台下),而不知道如何开始建立自己的应用程序的用户。

流程:

1.下载最新版本的RED5 http://osflash.org/red5

2.安装RED5,注意在安装RED5前要先安装好JRE,安装RED5的时候会要求指定JRE的目录的。

3.到RED5的安装目录,找到doc/templates目录,该目录中存放了一个标准的RED5应用程序模版myapp,将其复制到RED5安装目录 中的webapps目录下,并改名为你喜欢的文件夹名,比如你要开发一个聊天的程序,那么可以把myapp改为myChat,这个名字就是以后你要连接的 服务名了。

4.在WEB-INF中新建一个文件夹src用来存放程序的源代码,新建一个classes文件夹用来存放编译后的文件。

5.打开Eclipse,将工作区指定为RED5安装目录下webapps,然后新建一个项目,项目名为myChat.这个时候你应该发现刚才 myChat中的文件都被加载进来了,我们首先把src目录指定为源代码目录,右键选择src,在弹出的菜单中选择Build Path->Use as Source Folder,即将其指定为代码文件夹。接下来要指定项目的目标目录,在项目名上右键选择Properties,选择Java Bulid Path,在选择Source标签,在下面的Browse中选择Classes目录,将其指定为目标目录。然后选择Libraries,点击Add External JARs,将RED5安装目录下的red5.jar包含进来。

6.这个时候,在Eclipse的左边应该多了WEB-INF/src这样一个东东,我们将要在这里开始写入我们的第一个项目代码。右键选择它,在弹出的 菜单中选择New->Package,新建一个包,举例,包名可以为org.d5.first,然后再在生成的org.d5.first这个包上继 续右键选择New->File,输入文件名Application.java。并在建好的文件中输入以下代码:

package org.d5.first;

import org.red5.server.adapter.ApplicationAdapter;

public class Application extends ApplicationAdapter {

public String login(){
return “Welcome to Chat Servers”;
}

}

7.进行配置。编辑WEB-INF下的red5-web.xml,找到bean id=”web.handler”一句,将class=”XXX”中的XXX位置修改为org.d5.first.Application,这样本程序将 以刚才写的Application来运行。删除后面的bean id=”server.handler…整句,因为我们暂时用不到这个东东。编辑web.xml,找到webAppRootKey,将其下面的 param-value标签中的值修改为/myChat。编辑red5-web.properties,将第一句修改为 webapp.contextPath=/myChat

8.编译项目

9.重新启动RED5服务器

10.在FLASH中新建一个文件,输入以下代码:
import flash.net.NetConnection;
import flash.net.Responder;

var responder:Responder = new Responder(chat);
var nc:NetConnection = new NetConnection();
nc.connect(“rtmp://localhost/mytest”);
nc.addEventListener(NetStatusEvent.NET_STATUS,statusHandler);
function chat(obj:Object):void{
trace(obj);
}
function statusHandler(event:NetStatusEvent):void
{
trace(event.info.code);
switch (event.info.code)
{
case “NetConnection.Connect.Success”:
trace(“The connection was made successfully”);
break;
case “NetConnection.Connect.Rejected”:
trace (“sorry, the connection was rejected”);
break;
case “NetConnection.Connect.Failed”:
trace(“Failed to connect to server.”);
break;
}
}
nc.call(“login”,responder);

运行程序,显示结果为Welcome to Chat Servers。第一个RED5应用程序诞生了,呵呵:)

win7下安装zend studio 5.5

装了windows 7,发现普通模式不兼容zendstudio,又装了zendstudio 7,发现那个难用啊,晕死,下面是win7上安装
zendstudio 5.5的步骤

01、下载并安装最新版本的 JRE for Windows: http://java.com/en/download/manual.jsp

02、使用WINRAR解压 Zend Studio 5.5.1.exe

03、 进入解压后的文件夹 Zend Studio 5.5.1Windows(下面简称A文件夹) ,将resource目录下的jre文件夹重命名为jre.back(或其他名称都可)

04、复制 C:Program Files (x86)Javajre6到第三步中的目录,并将jre6重命名为jre

05、执行安装 A文件夹下的 Zend Studio 5.5.1.exe

06、安装完成后将 A文件夹 下 resource 目录中的jre.back文件夹复制到Zend Studio 的安装目录中,

07、重命名安装目录中的 jre 文件夹为 jre6

08、重命名安装目录中的 jre.back 文件夹为 jre

09、在ZendStudio图标上点击右键/属性/兼容性 设置兼容模式为 Vista

10、启动Zend Studio

又拖拉了

有个猎头姑娘从4月初就问我要英文简历,一直拖拖拉拉至今未发,想想学洋文也十余年,大小考试也都经历了,现在提笔不能文,会话磕磕巴巴,只有看美剧字幕大致可以忽略,遇到专业剧,法律啊,医学啊,还是一筹莫展,说起来我觉得自己词汇量也算不少,就是想写点什么老是那么几个句式未免寒酸,还是平时没地方用,拳不离手曲不离口,都生疏了。明天说什么也要编出一篇来。

android非常棒啊

入了HTC Desire,感觉非常爽,屏幕大,功能全,软件也多,特别是软件下载很方便,本来以为电子卖场里都是收费的东西,结果全是免费的,嘿嘿,比以前用nokia手机安装软件要方便一万倍,另外gmail,google map,用来上网都不错。下载了n个文件浏览器,各有利弊,所以只好都留着了,看到目录结构里那些熟悉的linux目录真是亲切啊,而且电子卖场里的软件在google code上很多都是开源项目,这样开发资源也很齐全了。另外android的中文用户还真是多,几乎每个我看到的软件下面都有中文用户的评论,很是吃惊。。

如果说有什么缺点的话,一个是太费电了,满电量的情况下,如果一直在上网操作,也就能用4、5个小时,另外就是触摸键盘还是不太方便,我安装了一个connectbot可以连接ssh,但如果用虚拟键盘操作vi什么的还是很费劲,也不知道control+按键是怎么按。另外android下的搜狗输入法真是渣,键盘还是t9输入法的,不如原来在e71上方便,还不如用自带的输入法。

想下载个东西真麻烦

要么就是论坛里的,不登录不能下,要么是各种捉迷藏似的下载站,根本搞不清楚哪个是最终的下载链接,这些还算好,找点英文资料吧,国外那些网盘网站都要求你用他的客户端,最可恶是csdn,下载不光要登录还要积分,sourceforge下载开源软件需要登录么,需要积分么,我真搞不懂他们在想什么,一切逆天行事的都长不了,嗯。

回暖

根据force的建议,今天入手HTC desire,一款android手机,确实很好玩,我在想要试着写一个程序在手机上了,以前玩过一下java me,相信google的平台会很有意思吧。

看了american idol top6的那集,到了这份上竞争更激烈了,每个人都很出色,预测一下,下集的bottom 3是crystal, shibhan和mike…拼到这份上已经不光是歌唱的好不好,也包括感情和投入的程度,淘汰谁都很难抉择啊。

手机丢了

今天限行,打个车手机就丢了,下车也就10分钟再给自己电话打就提示“无法接通”,我还是坐在后座,而且我下车前面马上上来一位坐在前排了,这动作也忒快了,拾金不昧的人都去哪儿了。要从新买一个破费点是小事,可是我是一个极端怕麻烦的人,这下还要去补卡,换新手机真够腻味的。自己第一个手机还是上大学那会儿自己用稿费买的,至今是第一次丢,10年了啊,没手机的日子毕竟怪怪的,当然也没单位的人骚扰。不想评价捡东西据为己有的人,但我绝不屑干这种事。刚刚乘着丢手机买了几注双色球,有句话叫否极泰来?。。

写了一个swf嵌入html页面中作跨域ajax提交使用,可是发现在IE内核的遨游,360浏览器中第一次载入可以运行,第二次则报对象没有该方法的错误。
google了一下,基本是这些浏览器处理缓存的问题,在swf已存在本地缓存时初始化第一帧的时候会出问题,解决方法1:在嵌入swf处加上?+Math.random()不管用,按照方法2,将

ExternalInterface.addCallback(“ajax”, ajax);

延迟50毫秒执行

setTimeout(function():void{
ExternalInterface.addCallback(“ajax”, ajax);
}, 50);

这样就解决了。。

以前也遇到过,如果在flex里写一as project,swf没有规定固定大小,而是在第一帧运行代码中动态获取stage的宽高的时候,在遨游等浏览器中第二次浏览的时候布局会乱,因为获得的stage宽高都是0,应该也是这个道理,我恨这些二手浏览器啊。

Powered by WordPress. Theme: Motion by 85ideas.