`
ch_kexin
  • 浏览: 874536 次
  • 性别: Icon_minigender_2
  • 来自: 青岛
社区版块
存档分类
最新评论

关于 AS3 Socket 通信基础(二)

 
阅读更多

对于Socket对象来说,通过是用write方法(writeByte(),writeUTFBytes( )等方法.)先向缓存区写入数据,然后使用flush()方法发送数据.对于XMLSocket对象,使用send()方法.
     Socket和XMLSocket类向Socket服务器发送数据的方法是不相同的.让我们首先看一下Socket类的方法. 
     当你使用Socket对象向服务器发送数据的时候,你首先要将数据写入到一个缓冲区中.Socket类设置了一系列的方法来写数据.每一个方法都用于写不 同的数据类型的数据(或者不同的数据).这些方法分别是: writeBoolean( ), writeByte( ), writeBytes( ), writeDouble( ), writeFloat( ), writeInt( ), writeMultiByte( ), writeObject( ), writeShort( ), write- UnsignedInt( ), writeUTF(), 和writeUTFBytes( ). 这些方法大多数都只接受一个参数,该参数的类型同方法的名字相匹配.例如,writeBoolean()方法接受一个布尔值作为参数,而 writeByte( ), writeDouble( ), writeFloat( ), writeInt( ), writeShort( ), writeUnsignedInt( ) 方法接受一个数字型参数.writeObject()方法接受一个对象类型作为参数,但该对象必须序列化成为AMF格式.writeBytes( )方法允许你传一个ByteArray参数,并带有偏移量和长度两个参数.例如,下面这段代码,调用了一个writeBytes( )方法,该方法将ByteArray对象中的所有byt值都传出去了(偏移量为0,长度和ByteArray数组长度等长):

socket.writeBytes(byteArray, 0, byteArray.length); 

     writeUTF( )和writeUTFBytes( ) 方法允许你的发送字符串类型的参数.每个一个方法只接受一个字符串作为参数.writeUTFBytes( )方法简单的将字符串作为Bytes发送.writeUTF( )方法在写入真正数据之前,先写入byts的数量.
     writeMultiByte( )方法也允许字符串类型的参数,但是使用的为非默认字符集.该方法需要两个参数:字符串和字符集名称.在Flash和Flex的帮助文档中有一个自持所有 字符集的列表,该列表中的标签和描述符是一一对应的.使用标签值作为writeMultiByte( )作为字符集.例如下面的代码发送了一个编码为Unicode的字符串:

socket.writeMultiByte("example", "unicode"); 
   
     向一个Socket对象传数值的方法完全依赖于你所有数据的类型和服务所接受数据的类型.使用一个Socket对象,你完全可以使用 ActionScript写一个Telnet和POP mail客户端.这两种协议都支持ASCII字符指令.例如,在连接一个POP服务器之后,你可以通过使用USER指令指定一个用户.下面代码向一个 Socket对象发一条指令:

// POP servers expect a newline (\n) to execute the preceding command. 
socket.writeUTFBytes("USER exampleUsername\n"); 
   
     向一个Socket对象写入数据其实并没有将数据发送到Socket服务器.每调用一个write方法都向Socket对象添加一个数据.例如,下面代码向一个Socket对象添加了四个byte的数据,但是没有一个发出了.

socket.writeByte(1); 
socket.writeByte(5); 
socket.writeByte(4); 
socket.writeByte(8); 

     当你想将这些累积的数据发送到Socket服务器需要调用flush()方法.flush()方法调用之后将把所有已经写入的数据发送出去,并清空缓冲区: 

socket.flush(   ); 

     XMLSocket类是一个非常简单用于发送数据的API.写于发数据都是由send()这一个方法来完成的.send()方法可以接受任何数据类型的参 数.它可以将所有的参数都转换为一个字符串类型并发送到服务器.通常参数为一个XML对象或者一个包含数据结构类似XML数据的字符串:

xmlSocket.send(xml); 

     然而,准确的格式完全依赖于服务器所能够接受的格式.如果服务器接受XML格式的数据,你必须发送XML格式的数据.如果服务器只接受URL编码的数据,你也必须发送URL编码的数据.

分享到:
评论

相关推荐

    flash actionscript3 as3通信 教程 socket与服务器通信, 多个swf之间通信.zip

    flash actionscript3 as3通信 教程 socket与服务器通信, 多个swf之间通信.zip

    flash actionscript3游戏开发之as3的socket通信方式介绍即使用XMLSocket.zip

    flash actionscript3游戏开发之as3的socket通信方式介绍即使用XMLSocket.zip

    as3socket通信

    as3socket向服务器传输数据和接收服务器的数据,自己,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...

    一段as3.0与c++socket通信的例子(as端代码)

    一段as3.0写的客户端代码,用来监听服务器端和发送数据用的一个例子。可作参考。socket通信

    Flex_AS3与Java的Socket通信

    Flex的AS3与Java的Socket通信

    java和as3 socket通信 解决安全沙箱问题

    NULL 博文链接:https://renzaihangzhou.iteye.com/blog/2007855

    php与flash as3 socket通信传送文件实现代码

    前段时间在flashseer看到有人提到:可以通过socket方式传送swf文件,让用户无法获取到swf文件… 当时还没有出as3的反编译,所以对程序的保护没有在意.随着反编译程序的平民化,不希望别人看到源代码的朋友就比较着急… ...

    as3-java socket

    as3与java 进行socket通信的测试程序。

    VB Socket 异步通信框架代码.rar

    VB Socket 异步通信框架代码,'数据包的长度  Public Const SFJ_Pro_SegmentLength As Integer = 1024  '数据包的数据长度部分占字节位数  Public Const SFJ_Pro_Packet_DataLen_Byte_Num As Integer = 8  '...

    as socket详解

    as socket详解,全面了解ActionScript Socket 与后台通信机制

    一个可以做AS3的前后端通信脚本

    NULL 博文链接:https://as3.iteye.com/blog/938093

    AS3 Socket 基础知识(很全面) 1

    就目前而言,几乎所有的应用程序都是采用socket,而现在又是网络时代,网络中进程通信是无处不在,这就是我为什么说“一切皆socket”。上面我们已经知道网络中

    socket异步通信框架

    Protected Overrides Sub HandleStringData(ByVal handler As Socket, ByVal operate As Integer, ByVal data As String) End Sub Protected Overrides Sub OnEndSendEvent(ByVal handler As Socket, ByVal ...

    socket通信.rar

    import tkinter as tk import threading data='' sock1=socket.socket(socket.AF_INET,socket.SOCK_STREAM) host = '127.0.0.1' port = 1234 sock1.bind((host,port)) sock1.listen(128) print("服务器等待连接中......

    多个flash互相通信demo

    多个flash之间互相通信demo,socket编程,flash as3

    php+as socket实例

    这是用php写的socket服务器,再加上as写的socket客户端进行的通信,里面有源码,有注释,有说明文档。实现了简单的socket创建,绑定,监听socket连接及关闭,接受消息,发送消息,关闭socket连接等功能。

    Socket实现两台计算机间的简单通信

    此代码实现了服务器端与客户端不同电脑间的网络通信,基于TCP协议,服务器端启动后,客户端搜索进行连接,连接成功后,进行通信。里面我根据自己的理解进行相应的注释,在启动客户端的方法中,将ip地址更改为本机ip...

    unity hololens socket demo

    应粉丝要求,应用之前的通信协议和socket组件,做了一个简单的通信demo。socket模块已经在hololens模拟器上测试通过、完全兼容。压缩包提供的服务器是as3写的,如果需要源代码可以联系我索取。我觉得懂as3的已经不多...

Global site tag (gtag.js) - Google Analytics