前面学习了Flash AS3教程:运算符,今天学习的ApplySocket类,这个类是对socket应用就行了系统化封装,并且考虑了很多因素,整合出来的一套,较为完善的flash程序部分socket解决方案
比如:一些socket服务端,不一定你send过去一条,他马上就会转发,可能会有延时,或者数据堆在一起等现象,而有写socket服务端,在发送数据的时候,会有一些附加码等,这样不利于取出真实数据
该类除了普通的用法,就是对上述假设情况整合了一套解决方案,虽不是很完善,但是能解决大部分问题,至少我碰到过的问题,用这个类应该可以轻松搞定,并且可以适合更复杂的
另外光看讲解,可能不大懂,提供了什么解决方案,来解决上面这些问题,因此,麻烦大家赖着性子,先过一到代码,然后在看后面的用法
index.base.net.ApplySocket类: 对socket进行封装,并且提供多种socket解决方案
构造函数: public function ApplySocket(_isSide:Boolean = false,_datatype:String = "String") 第一参数,是否使用包边,对数据进行处理,详细请看isSide属性 第二参数,默认数据发布类型 如果构造函数中两个参数都是用默认值,则该类只是一个普普通通的socket类
connect方法: public function connect(_host:String,_port:int):void 连接远程socket服务端 第一参数:主机地址,可以是202.89.***.***,或者www.*****.com这样的 第二参数:连接的端口号
send方法: public function send(...strs):void 发送数据到socket服务端 如果datatype为Object或者ArrayObject的时候,send方法传入的参数必须大于或者等于两个!否则会引发错误!
close方法: public function close():void 关闭与远程服务端连接
connect事件: 当连接上了之后,会调度该事件
close事件: 当socket关闭后,会调度该事件
sync事件: 当有数据需要同步的时候,会调度该事件
error事件: 当连接失败的时候,会调度该事件
静态常量: public static const ARRAY:String = "Array"; public static const STRING:String = "String"; public static const OBJECT:String = "Object"; public static const ARRAY_ARRAY:String = "ArrayArray"; public static const ARRAY_OBJECT:String = "ArrayObject"; 分别表示datatype的5种类型
host属性: public var host:String; 当connect后,会自动把主机地址记录到该值上
port属性: public var port:int; 当connect后,会自动把连接端口号记录到该值上
space属性: p |