`
ch_kexin
  • 浏览: 897531 次
  • 性别: 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编码的数据.

分享到:
评论

相关推荐

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

    以下是一些关于AS3.0 Socket通信的关键知识点: 1. **创建Socket对象**: 首先,我们需要创建一个`Socket`对象实例,通过调用其构造函数指定服务器的IP地址和端口号。例如: ```as3 var socket:Socket = new ...

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

    Java和ActionScript 3 (AS3) 的Socket通信在实现跨平台交互时是常见的技术手段,尤其是在处理实时数据传输和游戏开发中。然而,由于AS3运行在Flash Player的沙箱环境中,它受到一系列安全限制,包括不能直接与非同一...

    FLASH AS3 SOCKET收发16进制示例

    `HEXtoString as3.as`这个文件可能包含一个函数,用于将16进制字符串转换为ByteArray,以便于Socket通信。 在AS3中,使用Socket类的步骤如下: 1. **创建Socket实例**:首先,你需要创建一个Socket对象,例如`var ...

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

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

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

    本文将深入探讨AS3中的Socket通信方式,特别是利用XMLSocket进行网络交互的细节。 首先,XMLSocket是AS3中用于低级网络通信的类,它提供了双向、全双工的数据流,适合于游戏开发中的实时数据交换,如玩家状态同步、...

    flash as3 socket编程基础

    ### Flash AS3 Socket编程基础知识详解 #### 一、引言 在现代互联网应用开发中,实时通信技术变得越来越重要。而Socket编程作为一种实现客户端与服务器之间实时数据交换的有效手段,在Flash开发领域同样占据着重要...

    as3socket通信

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

    as3_Socket_的简单实例

    `Socket`类用于建立和管理TCP连接,而`ByteArray`则用于读写二进制数据,这是TCP通信的基础。 创建Socket连接的基本步骤包括: 1. 创建`Socket`对象。 2. 使用`connect()`方法指定要连接的服务器IP地址和端口号。 ...

    socket通信异常解决总结

    Socket 通信异常解决总结 Socket 通信异常是指在网络通信过程中出现的各种错误和异常,包括网络连接断开、服务器端或客户端程序异常、网络链路异常等。这些异常会导致 Socket 连接断开,影响系统的稳定性和可靠性。...

    as3_socket

    建立Socket连接是任何Socket通信的基础。在AS3中,我们可以使用`Socket`或`XMLSocket`类来创建Socket实例,并调用`connect()`方法来尝试与服务器建立连接。 1. **确定服务器信息**: - **域名/IP地址**:需要知道...

    全AIR 的 Socket通信(air服务端、air客户端)

    Socket通信是网络编程的基础,它提供了两台计算机之间低级别的双向通信通道。 首先,让我们理解Socket的基本概念。Socket是一种网络通信协议,允许两台计算机通过TCP/IP协议进行通信。在AIR中,我们可以使用AS3的...

    Flex 的socket通信

    这个文件可能是一个AS3脚本,包含了具体的Socket通信逻辑,如创建Socket对象、设置事件监听器等。 通过以上知识点,你可以理解并实现Flex中的Socket通信。实例代码如`ScoketClient.mxml`和`mySocket`可以帮助你更...

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

    AS3 Socket基础知识是网络通信的重要组成部分,特别是在网络时代,它被广泛应用于各种应用程序中,因为“一切皆Socket”。网络进程间的通信需要一个唯一标识,TCP/IP协议族通过IP地址识别网络主机,结合传输层的...

    AS3使用Socket的简单例子.txt

    - **AS3 Socket编程基础** - **创建与配置XMLSocket对象** - **事件监听器的设置与使用** - **连接服务器及发送数据** - **接收服务器响应** #### 知识点详细解析 ##### AS3 Socket编程基础 ActionScript 3.0 ...

    (AS3)socket+客户端与服务端+实例

    本文将深入探讨基于ActionScript 3(AS3)的Socket通信,包括客户端与服务端的交互,以及如何通过提供的实例来理解这一过程。我们将不涉及具体代码,而是详细解释相关的概念和技术要点。 首先,Socket是网络编程中...

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

    标题中的“一个可以做AS3的前后端通信脚本”指的是使用ActionScript 3(AS3)语言编写的脚本,这种脚本主要用于处理前端(客户端)与后端(服务器端)之间的通信。在Web开发中,前端通常负责用户交互,而后端则处理...

    Flex_AS3与Java的Socket通信

    在本文中,我们将深入探讨Flex AS3与Java的Socket通信技术,这是一种允许Web应用程序(如Flash游戏)与服务器进行低级数据传输的方法。Flex AS3是Adobe开发的ActionScript 3.0编程语言的一个框架,它提供了丰富的...

    as3-java socket

    本文将深入探讨“as3-java socket”这个主题,这是关于使用ActionScript 3(AS3)与Java进行Socket通信的一个测试程序。AS3是Adobe Flash Platform的主要编程语言,而Java Socket API则是用于实现网络上的双向通信的...

Global site tag (gtag.js) - Google Analytics