flex2的后端能用java吗,flex和java在socket交互,该如何处理(2)

本文详细介绍了如何在Java服务器端和Flex客户端之间使用Socket进行数据交互。Java端创建ServerSocket监听5556端口,接收到连接后,将数据编码为AMF3格式并通过Socket发送。Flex端则连接到服务器,读取接收到的对象数据,并触发事件进行处理。
摘要由CSDN通过智能技术生成

当前位置:我的异常网» Flex » flex和java在socket交互,该如何处理

flex和java在socket交互,该如何处理(2)

www.myexceptions.net  网友分享于:2015-08-26  浏览:75次

} catch (IOException e) {

e.printStackTrace();

}

//将ByteArrayOutputStream流中转化成字节数组

byte[] messageBytes=byteoutStream.toByteArray();//amf3数据

OutputStreamWriter osw;//使用amf3格式将写入流中的数据编码成字节

BufferedWriter bwrite;//用来封装OutputStreamWriter,以提高效率

try {

System.out.println("输出数组长度"+messageBytes.length);

serverSocekt=new ServerSocket(5556);//开启服务器进程

System.out.println("服务器已经启动。。。。。。。");

socket=serverSocekt.accept();

if(socket.isConnected())

{

System.out.println(">>>>>>>>>>客户端已连接");

}

//socket.

osw=new OutputStreamWriter(socket.getOutputStream());//将字符流转化为字节流

bwrite=new BufferedWriter(osw);//封装osw对象,提高写入的效率

socket.getOutputStream().write(messageBytes);//向流中写入二进制数据

socket.getOutputStream().flush();

socket.getOutputStream().close();

serverSocekt.close();

} catch (FileNotFoundException e) {

e.printStackTrace();

}

catch (IOException e) {

e.printStackTrace();

}

}

}

Flex 端

import vo.Amf;

import mx.collections.ArrayCollection;

var obj:Object=new Object();

private function Appinit():void{

var socket:Socket=new Socket();

socket.addEventListener(Event.CLOSE, closeHandler);

socket.addEventListener(Event.CONNECT, connectHandler);

socket.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);

socket.addEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler);

socket.addEventListener(ProgressEvent.SOCKET_DATA, socketDataHandler);

//socket.connect("192.168.1.31",1234);

socket.connect("127.0.0.1",5556);

//socket.connect("127.0.0.1",1234);

addEventListener("recieved",recievedData);

function closeHandler(event:Event):void {

trace("连接关闭");

}

function connectHandler(event:Event):void {

trace("连接成功");

//sendSocket("1232123");

}

function ioErrorHandler(event:IOErrorEvent):void {

trace("ioErrorHandler信息: " + event);

}

function securityErrorHandler(event:SecurityErrorEvent):void {

trace("securityErrorHandler信息: " + event);

}

function socketDataHandler(event:ProgressEvent):void {

trace("接收数据");

obj=socket.readObject();

dispatchEvent(new Event("recieved"));

}

function sendSocket(msg:String):void{

var message:ByteArray=new ByteArray();

var amf:Amf = new Amf();

amf.name = "123";

amf.id = "1";

message.writeObject(amf);

socket.writeBytes(message);

socket.flush();

}

}

文章评论

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值