文档详情

《as3_Socket_的例子》.doc

发布:2015-10-03约3.2千字共5页下载文档
文本预览下载声明
as3?Socket?的例子 CODE: [Copy to clipboard] telnet 110 这个命令就是要求连接到 的110端口去。 我们的flash程序也需要连接到这个端口去收信的 如果你的网络连接正常,并且你也正确键入了上面那行。你应该可以看到一个纯黑的窗口 在下面的操作就是在同pop服务器的交互了。注意,在telnet下,你不能用退格键,如果打错了,直接回车,重新输入一遍。 现在输入 CODE: [Copy to clipboard] user yourUserName 这里是 user 命令,语法是 user 空格 你的用户名 然后输入 CODE: [Copy to clipboard] pass yourpassword 这里是 pass 命令,语法是 pass 空格 你的密码 这样你就登录了 然后,用list命令来获取你的信 list 这个命令是用来获取邮件列表的 然后,你可以用 retr 邮件号 CODE: [Copy to clipboard] retr 408 来获取邮件内容 只不过是以2进制获取到的。还有很多email的标记。 但是,到此为止,你已经可以获取到邮件内容了 写了这么多,还没进入正题呢。真是的:L 不过,为了没有网络基础的人能看明白点,我就这么写吧。 今天继续写 那么,下面就该进入正题了。再不进入正题也说不过去了 首先,先把 .Socket; flash.utils.ByteArray; 这两个类说一下 Socket这个类是Flash9新支持的。它的作用就是创建一个建立在TCP/IP协议上的socket连接。 什么叫做socket连接呢。一般来说,你要想指定远程计算机上的一个服务,不仅要说明ip地址,还得指名端口号。 ip地址与端口号合起来叫做一个socket,来标示远程计算机上的一个服务。 比如http服务 我们通常看到 :8080 这样的形势,就是一个套接字,也就是一个socket 所以,你就把socket理解为标示远程服务的ip与端口的组合 在网络上传送的内容都是使用二进制来传送的, 他们实际上属于如下形式中的一种: Byte,Bytes,Double,Float, Int,Object,Short,UnsignedByte,UnsignedInt,UnsignedShort,UTF,UTFBytes,Boolean 由于pop3协议发送的命令可以用UTFBytes,所以,这里,作者就用了这个类型 大家可以看到在一开始,程序先是 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 创建一个新的socket对象 CODE: [Copy to clipboard] socket = new Socket(); 由于网络调用是异步发生的,因此,像你使用loadVar或者xml.load的时候一样,必须定义一个回叫的方法。 在这里,体现为事件的监听。 CODE: [Copy to clipboard] socket.addEventListener( socketData , socketDataEvent , false ,0); 这里添加了当data返回时的响应事件。 然后,就是就是当你点击connect的时候,这个connect方法了。 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 他这是在取得文本框里的地址 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? // Assign POP3 server from text input CODE: [Copy to clipboard] POP3Server = pop3Server.text; 然后,通过调用socket的connect方法连接到那个服务器 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? // Connect to server and specify port number CODE: [Copy to clipboard] socket.connect(POP3Server, port); 之后,创建一个ByteArray,这个东西其实就是一个以位byte为个体的数组。 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? // Create an instance of flash.utils.ByteArray CODE: [Copy to clipboard] var authentication:ByteArray = new ByteArray(); 然后,向这个byteArray中写入字符串,也就是我们的命令。这两个命令大家应该比较熟悉了吧。 ? ? ? ? ? ? ?
显示全部
相似文档