Flex Java Socket 连接示例
很简单的一个入门示例,勿需多言,直接看代码即可。
1,Flex Socket Code
<?xml version="1.0" encoding="utf-8"?> <!-- flex socket sample author sban <http://sban.biz/> --> <s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark" xmlns:mx="library://ns.adobe.com/flex/mx" creationComplete="application1_creationCompleteHandler(event)" minWidth="955" minHeight="600"> <fx:Script> <![CDATA[ import mx.events.FlexEvent; private var socket :Socket; protected function application1_creationCompleteHandler(event:FlexEvent):void { // TODO Auto-generated method stub socket = new Socket(); socket.addEventListener(Event.CONNECT, function(e : Event) :void { trace("connected."); } ); socket.addEventListener(Event.CLOSE, function(e :Event) :void { trace("closed."); } ); Security.loadPolicyFile("xmlsocket://127.0.0.1:843"); socket.connect("127.0.0.1", 1088); } ]]> </fx:Script> <fx:Declarations> <!-- 将非可视元素(例如服务、值对象)放在此处 --> </fx:Declarations> </s:Application>
2,Java Socket Server Code
package sban.socketServer; import java.io.IOException; import java.net.InetSocketAddress; import java.net.ServerSocket; import java.net.Socket; import java.net.SocketAddress; /** * sban java socket sample * @author sban <http://sban.biz> * */ public class SbanSocketServer1 extends Thread { public void run(){ } /** * @param args */ public static void main(String[] args) throws IOException { // TODO Auto-generated method stub ServerSocket server = new ServerSocket(); SocketAddress endpoint = new InetSocketAddress("127.0.0.1", 1088); server.bind(endpoint); System.out.println("wait.."); while(true) { Socket socket = server.accept(); System.out.println("connected."); socket.close(); } } }
3,本地swf文件的安全设置
在FB中debug运行时,一般不会报安全沙箱错误。这是因为FB把本地的bin-debug目录加入到了信任目录范围。有时间因为浏览器在运行,或安全配置文件在使用等原因,可能此步添加不能成功,所以有时候在FB中debug,也会看到安全沙箱错误。sban 遇到过这种意外情况,Adobe说这是正常的。
解决方法是,到如下地址添加本地信任目录:
http://www.macromedia.com/support/documentation/cn/flashplayer/help/settings_manager04.html
sban 2010/1/10 北京
Category: Flash Web Game | Tags: fwg Comment »