包含flex與java通信解決方法的詞條

本文目錄一覽:

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給歸海小豪的解答)。

flex 用socket連接JAVA時 的安全沙箱問題

關於Flex安全沙箱問題的解決最近遇到了Flex安全沙箱問題,找了很多資料發現不是都是和我的程序相關,我的程序需要socket連接,而大多數講的都是跨域文件讀取的。我就把這些方法都總結出來:跨域文件讀取方法一:在目標伺服器上布署crossdomain.xml文件(我用的此方法很管用,放上就沒問題了)需要遠程服務根目錄定義有crossdomain.xml文件,如下:?xmlversion=”1.0″encoding=”UTF-8″?cross-domain-policyallow-access-fromdomain=”*”//cross-domain-policy方法二:使用代理,把Flex要訪問的遠程文件通過asp,php,jsp等腳本讀取到本地,然後再由Flex去訪問;方法三:使用Adobeflashplayer9打開程序後,點擊菜單欄中文件-創建播放器…即生成exe文件,運行exe文件即可突破安全限制;方法四:1、找到這個文件夾:c:\DocumentsandSettings\UserName\ApplicationData\Macromedia\FlashPlayer\#Security2、在其下建立一個名為”FlashPlayerTrust”的文件夾3、在”FlashPlayerTrust”文件夾下新建一TXT文件,內容如下:c:\d:\e:\f:\4、將該txt文件命名為:”myTrustFiles.cfg”再打開你硬碟里的SWF文件,就不會出現那個煩人的安全設置提示窗口了!方法五:用HttpService它默認是有Proxy的,需要配置flex-config.xml,裡面有一段:http-service-proxywhitelist………………/whitelist/http-service-proxy這個是白名單,一般情況下是注釋掉的,也就是默認只有本地的http://{localserver}/*和https://{localserver}/*可以訪問。其他的需要在flex-config.xml里的自行修改成需要的就可以了。訪問本地自然不會跨域,不過你肯定訪問區域網其他機器了,所以是依照白名單規則,屬於跨域Socket沙箱問題在Flex安全沙箱中使用Socket進行通信時,也會受到Flash9的新安全策略的困擾.解決方法不能像在Web伺服器中布置一個crossdomain.xml來解決,或是在伺服器上專門開啟843埠來提供安全策略.有一種方法就是在接收到客戶端的連接後,向其發送安全策略.比如我是用JAVA來開發,客戶端的Flex會先搜索同域,及伺服器的843口,看是否能得到安全策略,這時候Socket是先建立好的,可以在接收到Socket,即Accept事件發生是,馬上向其發送策略串,否則客戶端就會因為安全策略不過關,於斷開,如果成功獲取策略,則客戶端將斷掉先前的那次Socket,再真正進行程序中你要求的Socket連接請求.

flex 與 java 通訊失敗

對啊,修改配置文件之後必須要重啟伺服器才可以啊。以後注意了就可以了。

另外一般情況下修改一半類是不用重啟伺服器的,伺服器都是直接可以載入修改後的類的。修改靜態類或是靜態方法最好重啟。寫的做的多了你就知道了。經驗都是這樣積累起來的

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/159956.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-11-20 00:17
下一篇 2024-11-20 00:17

相關推薦

發表回復

登錄後才能評論