本机发送一个用户测试通过,效率有点问题,
没有用数组,而是将数据串在一起发送和接收,多个用户的多个数据切割还没找出方法
--
代码:
var php_array:Array; //数组,存放从php接收来数据,被分割的小段文本
var uid:int =2;//dzx里的uid
var myname:String ="teliute";//dzx里的用户名
var myline:int =1;//打到第几行,初始化第一行
//为复制新标志元件做准备
var mcBoard:Sprite = new Sprite();//放置按钮的容器
addChild(mcBoard);//容器放入舞台
var mycur_1:mycur1 = new mycur1();//mycur是库里影片剪辑mycur的链接名称(类名)
mcBoard.addChild(mycur_1);//生成库中的剪辑,并放入容器
var rect:Rectangle;
stage.focus = in_txt;
in_txt.addEventListener(KeyboardEvent.KEY_UP,onChanged);
function onChanged(e:Event):void//将标志放在光标左边字符的上边
{
rect = in_txt.getCharBoundaries(in_txt.caretIndex - 1)
//rect测出当前光标所在字符的位置
if (rect==null) return;//如果文本框为空了就跳出函数
var postLoader:URLLoader=new URLLoader();
var request:URLRequest=new URLRequest();
var vars:URLVariables=new URLVariables();
vars.s1=String(uid)+"|"+myname+"|"+String(myline)+"|"+String(rect.x);
request.url="http://192.168.0.102/cur2.php";
request.method=URLRequestMethod.POST;
request.data=vars;//这里的data可以是一个Object,或者Array
postLoader.load(request);//下一行监听发送是否完成
postLoader.addEventListener(Event.COMPLETE,completeFun);
}
function completeFun(e:Event):void//发送完成后,接收数据
{
var mssLoader:URLLoader=new URLLoader();
mssLoader.dataFormat = URLLoaderDataFormat.VARIABLES;
mssLoader.load(new URLRequest("http://192.168.0.102/cur2.php"));
//这里就是php文件的地址;下一行监听是否接收完成
mssLoader.addEventListener(Event.COMPLETE,completeRecv);//接收完成
}
function completeRecv(e:Event):void
{//接收php返回的信息。。
var loadData:URLVariables=URLVariables((e.currentTarget as URLLoader).data);
php_array = loadData.content1.split("|"); //把字符串分割成行,每一行一个数组元素字符串,
mycur_1.x = Number(php_array[3]);//左上角是0,0坐标
mycur_1.y = in_txt.y - in_txt.textHeight;
mycur_1.curname.text=php_array[1];//元件里面的姓名文本框,显示姓名
mycur_1.cur_txt.textColor=0xffffff * Math.random();
mycur_1.curname.textColor=mycur_1.cur_txt.textColor;
}
cur2.php
代码:
<?php
$content1 = $_POST["s1"];//."?"; //获取flash传递过来的参数,问号先不加,就传一个人的过去
$state1="ok";
//用一个占位符保证回传的格式
$returnstr="send=ok";
//用占位符保证回传尾部没有冗余
$returnstr.="&content1=".$content1."&state1=".$state1;
echo $returnstr;
?>