[ActionScript 3.0] AS3 socket示例(官方示例)
2015-08-21 15:08
411 查看
下例对套接字执行读写操作,并输出在套接字事件期间传输的信息。 该示例的要点遵循:
该构造函数创建名为
然后,该示例调用了
最后,调用套接字
注意:若要运行该示例,您需要一台与 SWF 位于同一个域(在本例中为
该构造函数创建名为
socket的
CustomSocket实例,并将主机名
localhost和端口 80 作为参数传递。 由于
CustomSocket扩展了 Socket,因此在调用
super()时将调用 Socket 的构造函数。
然后,该示例调用了
configureListeners()方法,该方法可为 Socket 事件添加侦听器。
最后,调用套接字
connect()方法,其中使用
localhost作为主机名并使用 80 作为端口号。
注意:若要运行该示例,您需要一台与 SWF 位于同一个域(在本例中为
localhost)服务器并侦听端口 80。
package { import flash.display.Sprite; /** * @author Frost.Yen * @E-mail 871979853@qq.com * @create 2015-8-21 下午2:53:03 * */ public class SocketExample extends Sprite { public function SocketExample() { var socket:CustomSocket = new CustomSocket("localhost", 80); } } } import flash.errors.*; import flash.events.*; import flash.net.Socket; class CustomSocket extends Socket { private var response:String; public function CustomSocket(host:String = null, port:uint = 0) { super(); configureListeners(); if (host && port) { super.connect(host, port); } } private function configureListeners():void { addEventListener(Event.CLOSE, closeHandler); addEventListener(Event.CONNECT, connectHandler); addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler); addEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler); addEventListener(ProgressEvent.SOCKET_DATA, socketDataHandler); } private function writeln(str:String):void { str += "\n"; try { writeUTFBytes(str); } catch(e:IOError) { trace(e); } } private function sendRequest():void { trace("sendRequest"); response = ""; writeln("GET /"); flush(); } private function readResponse():void { var str:String = readUTFBytes(bytesAvailable); response += str; } private function closeHandler(event:Event):void { trace("closeHandler: " + event); trace(response.toString()); } private function connectHandler(event:Event):void { trace("connectHandler: " + event); sendRequest(); } private function ioErrorHandler(event:IOErrorEvent):void { trace("ioErrorHandler: " + event); } private function securityErrorHandler(event:SecurityErrorEvent):void { trace("securityErrorHandler: " + event); } private function socketDataHandler(event:ProgressEvent):void { trace("socketDataHandler: " + event); readResponse(); } }
相关文章推荐
- haproxy 配置 说明
- cassandra中对节点失败与否的探测方法, the Phi accrual Failure Dector,附论文
- 解决:System.Data.SqlClient.SqlError: FILESTREAM 功能被禁用
- poi 中获得行数 getLastRowNum() 和 getPhysicalNumberOfRows()
- Hadoop 1.x中fsimage和edits合并实现
- SQL索引一步到位
- unity3d GameCenter的使用
- 问答Swift2.0-基础部分
- 黑马程序员-[C语言字符串和数组]学习日记(三)
- jquery $.each()遍历json数组
- 蘑菇街电话面试记录
- yii基础应用目录结构
- Spring MapFactoryBean example
- JQuery的扩展与noConflict
- 从UIImage的矩阵变换看矩阵运算的原理
- EBS 登录 提示 网页上有错误
- 计算器 Count
- Android中CheckBox与CompoundButton源码解析
- TableViewer的表格高度固定死
- iOS摄像头和相册-UIImagePickerController-浅析