在tomcat下开发Red5应用

客户端和服务器端的方法相互调用比较重要,在线列表基本上全是用这种方式实现的,当然也有使用RemoteSharedObject来实现的,但本人不太喜欢用RemoteSharedObject,只是用RemoteSharedObject来进行广播等操作。

1.编辑第二篇(抛弃LCDS和FMS,在tomcat下开发Red5应用(第二篇)-建立新的Red5应用)中的Application.java:

Java代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
package red5.example.red5server;
 
import org.red5.server.adapter.ApplicationAdapter;
import org.red5.server.api.IConnection;
import org.red5.server.api.Red5;
import org.red5.server.api.service.IServiceCapableConnection;
 
public class Application extends ApplicationAdapter {
 
	private String userName;
 
	//客户端调用的方法
	public String callFromClient(String userName) {
		this.userName = userName;
		callClient();
		return "Hello:"+userName;
	}
 
	//服务器端调用客户端的方法
	public void callClient() {
		IConnection conn=Red5.getConnectionLocal();
		if (conn instanceof IServiceCapableConnection) {
			IServiceCapableConnection sc = (IServiceCapableConnection) conn;
	        sc.invoke("callFromServer", new Object[]{"hi,"+userName+" this message from server"});
		}
	}
}

PS:记得将编译好的class文件放入webapps\ROOT\WEB-INF\classes。

2.编辑第二篇(抛弃LCDS和FMS,在tomcat下开发Red5应用(第二篇)-建立新的Red5应用)中的red5client001.mxml:

Xml代码

1.
2.
3.    
4.        
44.    
45.

将编译好的swf拷贝到webapps\red5Server目录下。

3.重新启动tomcat 运行浏览器,在地址栏输入http://localhost:8080/red5Server/red5client001.html 看到弹出窗口了吧。

客户端和服务器端方法相互调用就这么简单,实际上原有的基于FMS开发的Flex客户端代码修改量是非常小的。在下一篇将讲解客户端和服务器端方法调用中的参数传递。

Tags: ,

发表评论

电子邮件地址不会被公开。 必填项已用*标注