❶ java与flex通信,内存溢出
这里包的概念是逻辑上的数据包,也就是我们发送的一个完整业务消息包,粘包情况有两种,一种是粘在一起的包都是完整的数据包,另一种情况是粘在一起的包有不完整的包。不是所有的粘包现象都需要处理,若传输的数据为不带结构的连续流数据(如文件传输),则不必把粘连的包分开(简称分包)。但在实际工程应用中,传输的数据一般为带结构的数据,这时就需要做分包处理。
为了避免粘包现象,可采取以下几种措施。一是对于发送方引起的粘包现象,用户可通过编程设置来避免,TCP提供了强制数据立即传送的操作指令push,TCP软件收到该操作指令后,就立即将本段数据发送出去,而不必等待发送缓冲区满;二是对于接收方引起的粘包,则可通过优化程序设计、精简接收进程工作量、提高接收进程优先级等措施,使其及时接收数据,从而尽量避免出现粘包现象;三是由接收方控制,将一包数据按结构字段,人为控制分多次接收,然后合并,通过这种手段来避免粘包。
❷ Flex 与 Java 通信,选择什么样的数据格式
Flex与Java通信的方式有很多种,比较常用的有以下方式:
WebService:一种跨语言的在线服务,只要用特定语言写好并部署到服务器,其它语言就可以调用
HttpService:通过http请求的形式访问服务器
RmoteObject:通过AMF协议,以二进制的形式交互数据
Socket:套接字协议,服务器和客户端以IO的形式交互数据
上面几种各有个的优势:WebService常用于跨语言调用,不过解析协议需要花不少时间,运行速度不快;HttpService类似于Ajax;通常RmoteObject是最受欢迎的,因为它的运行效率快,数据解析方便。Socket编码比较麻烦。
个人推荐使用RemoteObject的形式,也就是对象交互模式,假设java端有一个getUser方法返回的是User对象,在flex端直接调用getUser就会返回flex对应类型的User对象,这种方式是最效率而且最简单实用的。
目前有一款blaseds的中间件可以实现flex与java的通信,是免费的,推荐度最高,强烈建议你学习下。
❸ flex和java ee通信问题
我就不复制网上的文章了,简单的说一下。
三种:
1.通过httpService:你访问一个xml或者servlet,然后flex接收返回的xml数据
2.通过webService:你访问一个webService服务,然后获得文本信息
3.通过RemoteObject:可以通过blazeds来访问远程service接口方法,Flex接收一个对象。
祝你好运
❹ 单机的Flex桌面程序 和 java 怎么进行数据交互 不需要web服务器,不用socket,单机!
socket不一定架服务器,你可以本地localhost通信
可以视为你的客户端和服务器端都在本机,socket都指向本地 最简单的JAVA聊天室就是这样了,当本地用就是了
这样最简单
java做成服务器 端 ,接收本地发的socket ,然后处理数据库,返回给Flex
只是让java 与flex通过socket当桥通信 ,并不经过什么web 服务器
好比: 两台电脑用一根网线连接,并且没上网,但就可以使用网络传输数据一样,
可以选择用jason,xml通信 ,因为不论什么程序都好解析
❺ eclipse中使用java和flex通信,怎么用debug模式来检查错误开启不了怎么办
首先你要确定你装了fb的插件,单纯的eclipse是没法调试flex的。
如果确定,那点击工具栏的调试按钮。这时如果弹出让你安装debug版本flash player,那就去安装,打开弹出窗口上的链接就是,注意要选择相应浏览器的版本。
如果安装好了,那在调试的时候就会进入断点了,你可以选中某个变量(右键、创建观察表达式)来观察它的值。
❻ java 里面的方法 怎么调用 flex 的方法
推荐用remoteObject方式。
这里需要用到services-config.xml配置文件,我个人理解的该配置文件就是一个Flex与业务层间的通道。
假设业务层有一个java类TestAction.java
①那么services-config.xml配置文件中的写法就是这样:
<destination id="TestAction">
<channels>
<channel ref="spring-amf" />
</channels>
</destination>
完成这个配置之后就可以在Flex层调用TestAction里的方法了。
②在MXML文件中这样写:
<mx:RemoteObject id="TestAction"
destination="TestAction"
showBusyCursor="true">
<mx:method name="findDataList"
result="processFindDataList(event.result)">
</mx:method>
</mx:RemoteObject>
其中destination就是你在services-config.xml配置文件声明的通道,
id是你在对应的AS文件可以用的名字。id你可以用随便的名字,你id起的是什么名字那你在AS文件中就用什么名字。
③AS文件中这样写
private function getDataList():void
{
TestAction.findDataList(String para1,String para2,.....)
}
findDataList是TestAction中声明的方法。TestAction.findDataList返回的结果用processFindDataList方法接收(在mx:RemoteObject 中已经声明)
private function processFindDataList(result:Object):void
{
if(result != null)
{
处理;
}
else
{
Alert.show("没有你想要的结果");
}
}
全部手写,不明白的话再讨论
(这是我于2011-9-8 11:12给归海小豪的解答http://..com/question/314692050.html)。
❼ flex和java通信后数据获取不完整不成功
我猜你可能声明了两个user对象,你的前台和flex端as接受到的User是两个user对象,你可以尝试将接收到的user对象赋值给前台的user对象,然后再user.dept取值试试。
或者是你返回的user.dept确实是空的,这个就要检查后台了,在返回user对象前设置断点,很容易发现问题。
❽ flex怎么调用java与数据库通信
flex做前端,可以发请求到;后台用java处理数据,(java与数据库连接),再返回数据给flex展现。
❾ flex 与java通信,可以一次获取多个返回值吗
你好:
分页分两种:一种是服务端分页也就是数据库查询语句的分页,第二种是客户端分页也就是数据库查询所有数据。
第一种:需要在Java端实现无非在返回数据时在去查一遍总数量,一起传到客户端客户端设置当前页和显示数据长度
第二种:就没必要java返回总记录数,而是在flex端自己截取当前显示数据长度的数组,显示截取的数组当用户更改页码时,在重新截取。
你应该懂了,给分吧 谢谢
❿ flex和java用webService通信怎么公用session
这样做非常麻烦,因为你要非常了解session里面到底有什么
(因为到了flex那边,不像在java那边那么严格了)
正确的做法是,java的webService最后给flex的是结果!而不是原始数据!
让flex拥有更少的逻辑,就算要做胖客户端,也应该使用DTO对象,
你需要(session里面太多东西你根本不需要知道)的值封装一次,再传
给flex
这个只是我的建议
如果你真的要穿session过去,那就开放一个函数,直接return一个session
到flex时,用Object接受,o.xxx就可以拿到属性了
不过说真的,这个效率有点低