as3 的socket 杂谈
来源:互联网 发布:资源搜索程序源码 编辑:程序博客网 时间:2024/06/05 09:57
as3 中提供2种socket,xmlsocket和socket,xmlsocket的底层是socket实现;
1。tcp服务器协议,作为一种流协议,他不停的将分片传输给客户端,P作为流,发包是不会整包到达的,而是源源不断的
到UDP服务器协议,作为数据包协议,整包到达;具体参见:http://blog.csdn.net/hili2006
2。as3 中的socket的data事件是buffer有新到的数据就触发,有时候会有2个数据发过来,而只触发了一个data事件,所以as3中的socket是需要解码的,解码参见:http://blog.csdn.net/hili2006/archive/2010/04/20/5508715.aspx
测试代码如下:php tcp server&as3 socket
php:
$msg1 = "Welcome To ICA Server: 1 ";
$msg2 = "Welcome To ICA Server: 2 ";
$msg3 = "Welcome To ICA Server: 3 ";
@socket_write($msgsock, $msg1, strlen($msg1));
sleep(5);
@socket_write($msgsock, $msg2, strlen($msg2));
as3:
var counter2=0;
function data_handler(e:Event){//如果php有sleep,那会接到2个data事件,并且byteavailable,如果
counter2++; //没有sleep,则触发一个data事件,数据一起呈现到byeteavailable中
trace (counter2+"/n");
trace (e.target.bytesAvailable+"/n");
}
3。as3 的socket和xmlsocket类似,接到的数据中含有结尾符“/0”,在read数据的时候会当成结尾,结束读取返回,即使read中设定了length长度参数,并且当成读取了所有buffer数据处理,即bytesAvailable==0;
测试代码如下:
php:
$msg1 = "Welcome To ICA Server: 1 ";
$msg2 = "Welcome To ICA Server: 2 /0";
$msg3 = "Welcome To ICA Server: 3 ";
@socket_write($msgsock, $msg1, strlen($msg1));
@socket_write($msgsock, $msg2, strlen($msg2));
@socket_write($msgsock, $msg3, strlen($msg3));
as3:
function data_handler(e:Event){
trace (e.target.bytesAvailable+"/n"); //=152
trace ("receiving data: "+e.target.readUTFBytes(e.target.bytesAvailable));// 只有输出Welcome To ICA Server: 1
trace (e.target.bytesAvailable+"/n");//=0
}
4。如果as3 的data事件函数正在执行的时候,比如在此函数中用while循环解码,此时有新的数据发送过来,data事件还会触发么?触发的话,正在执行的怎么办?原有数据还有么?
- as3 的socket 杂谈
- 杂谈:As3 坚守的几块肉
- flash as3 的socket聊天
- as3 socket
- erlang和as3 socket的二进制通信
- as3与node.js的socket通信
- as3与node.js的socket通信
- 杂谈socket编程
- 杂谈:如果as3 可以成为一门优秀的后端语言
- AS3 实现socket连接
- AS3 socket编程
- AS3 socket编程 .
- AS3 socket编程
- AS3——Socket
- AS3 Socket 编程
- AS3 Socket从零开始。
- 关于AS3 Socket学习
- AS3 Socket 基础知识
- java中String类的构造函数
- poj2181解题报告
- Dropthings latest 2.5.4 release
- JAVA 文件操作大全(转)
- (Kernel-based Virtual Machine) + KQEMU
- as3 的socket 杂谈
- 静态语言和动态语言,静态编程语言和动态编程语言
- Visual Assist X_ refactor功能初探[原]
- VLOOKUP 怎么使用(摘)
- BigDecimal常用方法
- 单例模式的懒汉式和饿汉式
- java的double的精度问题
- Apple: iPad/iPhone OS 3.2停止更新IP问题
- 夜里的天空 是蓝色的吗?