flex与java的socket通信

本文介绍了一个Flex与Java后台进行数据通信的具体实例。通过使用Socket连接,实现了前后端之间的数据交换。代码中详细展示了如何设置样式、监听连接状态及接收数据的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

网上的示例很多

比如[url]http://www.java1995.cn/article/688.html[/url]

记下注意点:

flex接受数据
[后台:java 前台:flex]

前台代码:

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" creationComplete="init()">
<mx:Style>
Button{
border-style:solid;
border-color:red;
background-color:green;
backgroundColor:green;
}
</mx:Style>

<mx:Script>
<![CDATA[
import com.sunshine.core.socket.SocketManager;
var socket:Socket = new Socket();
public function init():void{
socket.connect("127.0.01.1",8888);
socket.addEventListener(Event.CONNECT,funConnect);
socket.addEventListener(ProgressEvent.SOCKET_DATA,funSocket);
var b:ByteArray = new ByteArray();
b.writeUTF("code");
socket.writeBytes(b);
}
public function funConnect(event:Event){
conB.label="connection success";
}
var bytes:ByteArray =new ByteArray();
public function funSocket(event:Event){
var bb:ByteArray = new ByteArray();
trace("--write------");
//if (c.bytesAvailable>0){
trace("can read");
var image:String
rece();
}
public function connection():void{
rece();
}

public function rece():void{
while (socket.bytesAvailable) {
trace("available");
socket.readBytes(bytes,0,socket.bytesAvailable);
conB.label=bytes.readUTF();
}
}
]]>
</mx:Script>
<mx:Button id="conB" x="125" y="167" width="207" height="61" click="connection()">
</mx:Button>
</mx:Application>



注意
接受数据必须加上接受事件:
socket.addEventListener(ProgressEvent.SOCKET_DATA,funSocket);


[color=red]不能只写在一个组件的触发事件里面,否则接受不到数据。[/color]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值