全球旧事资料 分类
们处于不同重量级的技术让我们在讨论XMLSocket之前先关注下Socket类我都知道socket在Flash中是一个异步的行为因此它就不能简单的创建一个Socket连接然后就立刻尝试去读取数据read方法不能等到从服务器传过来数据之后在返回换句话说你只能在客户端从服务器载入所有数据之后才可以读取数据在数据可用之前读数据会产生一个错误通过socketData事件广播到Socket实例这样我们就可以知道什么时候数据可以被读取那么我们要为socketData事件添加一个事件监听器任何时候只要有新的数据从一个socket服务器发送过来都会触发事件控制器在事件处理器的内部我们写入我们要执行的代码去读取和处理收到的数据从一个前端服务器读取数据Socket类为我们提供了许多不同的方法这些方法依赖于你所读得数据类型例如你可以通过readByte方法读一个byte数据或者通过一个使用readU
sig
edI
t方法去读一个无符号整数下面这个表列出来能够从服务器读取的数据类型返回值和read方法每次读入的字节数TableSocketreadmethodsforvariousdatatypes
方法返回值类型readBoolea
Boolea
readBytei
treadDoubleNumberreadFloatNumber
描述从Socket读取一个Boolea
值从Socket读取一个byte值
字节数11
从Socket读取一个IEEE754双精度浮点8数从Socket读取一个IEEE754单精度浮点4数
freadI
ti
treadObjectreadShorti
treadU
sig
edI
tui
treadUTFStri
g
从Socket读取一个有符号32bit整数值4从Socket读取一个AMFe
coded对象
142
从Socket读取一个有符号16bit整数值2从Socket读取一个无符号32bit整数从Socket读取一个一个UTF8字符串
readU
sig
edByteui
t从Socket读取一个无符号字节readU
sig
edShortui
t从Socket读取一个无符号16bit整数
有两个额外的方法没有在上面这个表中描述它们分别是readBytes和readUTFBytesreadBytes方法只可以让socket读数据但不能返回一个值并且该方法需要3个参数bytes一个flashutilByteArray实例读取从socket中收到的数据offset一个ui
t值指定从什么位置开始读取socket中收到数据的偏移量默认值为0le
gth一个ui
t值用于指定读取bytes的数量默认值为0意思就是说将所有的可用的数据都放入ByteArray中另一个readUTFBytes方法只需要一个长度参数用于指定UTF8字节的读入数量并且该方法会将所有读入的字节码转换成为字符串类型注意在从一个Socket读数据之前首先要判断bytesAvailable的属性如果你不知道要读入的数据类型是什么就去读数据的话将会产生一个错误flasherrorsEOFError下r
好听全球资料 返回顶部