前面,阿堂和朋友们简单聊了一下,给出了一些FLEX和JAVA交互的操作图的界面一文(见 Flex socket通信实践学习笔记(1)),见阿堂的新浪空间(http://blog.sina.com.cn/s/blog_4c925dca0100s38p.html),由于阿堂平常一直比较忙,所以代码没有粘出来,今天我就给出该操作图相应的后台服务端java代码和客户端的FLEX代码.对于flex和JAVA的交互,我这里也简单总结一下,谈一下自己的看法!
1.flex和java交互时,需要三次握手过程,握手成功后,flex客户端会检测通信端口中是否存在安全策略文件,此时客户端发送以下报文内容.
<policy-file-request/>
服务端在收到该报文后,应该向客户端发送安全策略文件。
//Flex 安全策略文件
String xml ="<cross-domain-policy>";
xml = xml+"<site-control permitted-cross-domain-policies='all' />";
xml = xml+"<allow-access-from domain='*' to-ports='"+SERVER_PORT+"' />";
xml = xml+"</cross-domain-policy>";
之后再进行正常Socket通信.
所以,朋友们会在阿堂后面粘出来的代码中看到有如下代码
if(head.equals("<policy-file-request/>")){
pw.print(xml+"\0");
pw.flush();
}else{
...
}
代码的判断,对于安全策略文件,不是阿堂这篇文章讨论的重点,所以我就不再详细说明了。有兴趣的朋友可以继续看flex安全策略文件方面的介绍和说明,网上有很多这方面的介绍
2.flex和java交互中需要约定socket方面的通信协议或者说是rule.注意,这个是相对于开发的项目或游戏本身约定的通信协议,也就是说对于开发某个游戏,双方需要实际交互过程中,来议定的一些规则.如下面简单的网络聊天室,就议定了五类规则,0表示登录信息,1表示普通信息,2表示客户端总人数,3表示离开信息,4表示用户列表信息. (当然,我们用BlazeDS,apache mina等框架开发较为大中型的flash游戏时,我们议定的规则会比下述规则复杂得多.象我们部门其它项目组,开发的“德州扑克”,用的apache mina和flex交互时,就议定了2m-30种协议规则,每种规则传递的不是简单的数字,而是更为丰富的Array数组。java端是传递的JSon格式到flex客户端,flex端传递给java端是Array数组)但是,不管传递的数据有多复杂或者用什么框架,如BlazeDS,apache mina,FMS,Red5等,Flex和Java交互的基本原理都是一样的,只不过,用这些框架时,我们对于Socket的框架少了一些操作而也,很多的对于Socket框架方面的底层封装少了很多的操作,大大方便了Flex和服务端的交互.
分享到:
相关推荐
Flex与Java交互是Web开发中的常见技术,尤其在构建富客户端应用时,它允许前端的Flex界面与后端的Java服务器进行数据交换和业务逻辑处理。Flex作为一个强大的RIA(Rich Internet Applications)开发框架,提供了丰富...
在这样的架构中,Flex负责用户界面的展示和与用户的交互,而Java通过Socket接口提供服务,处理业务逻辑和数据处理。Socket是网络编程中的一个基础概念,它允许两个网络应用程序之间建立全双工(双向)通信通道。在...
通过上述介绍可以看出,Flex + Java 实现 Socket 通信涉及到了前端和后端的技术栈。前端利用 Flex 实现与用户的交互,并通过 Socket 连接到后端 Java 服务。后端 Java 服务端通过 Socket API 监听连接请求,并处理...
7. **学习与实践**:对于初学者,分析和运行这个项目可以帮助理解Flex和Java之间的通信机制,以及如何利用Socket实现实时数据交换。同时,也可以了解到如何在Eclipse中管理和部署这样的项目。 总之,Flex+Java+...
Flex与Java交互是一种常见的技术应用,特别是在构建富互联网应用程序(RIA)时。Flex作为一个强大的客户端展示层框架,用于创建交互式、动态的用户界面,而Java则在后端处理业务逻辑和数据管理。两者结合,可以实现...
标题 "FLEX与JAVA通过SOCKET通信" 涉及的是在客户端与服务器之间使用FLEX(Adobe Flex)和JAVA进行Socket通信的技术。Flex是一种开源的、基于MXML和ActionScript的开发框架,用于构建富互联网应用程序(RIA)。Java...
Flex和Java Socket聊天源码是实现在线实时通信的一种技术结合,主要涉及的技术点包括Flex前端开发、Java后端Socket编程以及图文混排和表情支持。下面将详细解释这些知识点。 1. Flex:Flex是由Adobe公司开发的一套...
Flex作为一个强大的前端展示层技术,常用于创建动态、交互式的用户界面,而Java则在后端处理业务逻辑和数据管理。本教程将深入探讨Flex与Java的三种交互方式,帮助开发者更好地理解和实现跨平台的Web应用。 1. AMF...
3. **Java服务器端**:在Java端,我们可以使用如`java.net.ServerSocket`和`java.net.Socket`类来创建服务器并处理来自Flex客户端的连接。为了处理AMF消息,需要引入如BlazeDS的Java库,或者使用第三方库如Graniteds...
这个示例对于理解Flex和Java之间的Socket通信以及Java的多线程Socket服务端设计模式非常有帮助。它展示了如何在实际应用中实现高效、可扩展的网络通信,这对于开发实时聊天、在线游戏等需要实时交互的Web应用至关...
### Java与Flex交互中的常见问题及其解决方案 在Java与Flex技术进行交互的过程中,经常会遇到一些典型的问题,这些问题可能涉及到安全性、数据传输格式以及字符编码等方面。本文将详细探讨以下几个方面: 1. **...
在Flex和Java之间,Socket允许大量数据的高效传输,适用于实时性要求高或者数据传输频繁的场景,如游戏、聊天应用或者实时数据监控。在Java端,通常使用ServerSocket来监听客户端连接;在Flex端,使用Socket类建立...
4. **关闭连接**:在完成通信后,记得关闭Socket和ServerSocket,避免资源泄漏。 在AS3和Java之间的Socket交互中,确保两边的端口号一致,并且客户端成功连接到服务端后才能进行数据交换。由于AS3和Java都支持多...
总的来说,Flex Socket通信是跨平台应用开发中一种强大的通信手段,它允许Flex前端与Java后端无缝协作,实现复杂、高效的数据交互。在实际项目中,根据需求选择合适的通信方式,并充分考虑性能、安全性和可扩展性,...
Flex是一种基于Adobe Flash Player或Adobe AIR运行时的开源框架,用于构建具有交互性和动态UI的Web应用程序,而Java则是一种广泛使用的后端开发语言,常用于处理业务逻辑和数据管理。将这两者结合使用,可以构建出...
Flex与Socket之间的通信是Web应用中一种常见的实时数据交互方式,尤其在开发在线聊天功能时。Flex是一款基于Adobe Flash Player的开发框架,用于构建富互联网应用程序(RIA)。Socket,也称为套接字,是网络编程中的...
在本示例中,"flex C# 基于socket 通讯 应用程序源码"描述了一个项目,该项目结合了这两种技术,通过Socket通信实现客户端和服务器端的数据交互。 Socket通信是网络编程的基础,它允许两个网络应用程序之间建立连接...