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

关于 AS3 Socket 通信基础(六)

 
阅读更多

6.处理使用Sockets时候引发的错误.
     在程序里通常都会使用try/catch处理I/O和EOF(end of file)错误.
     Socket和XMLSocket类对错误的处理很类似.不过,当调用connect()方法的时候,在下面任何一个条件成立的情况下Socket和XMLSocket对象会抛出一个类型为SecurityError的错误.
、* 该.swf未通过本地安全认证.
、* 端口号大于655535.
     当调用XMLSocket对象的send()或者Socket对象的flush()的时候,如果socket还没有连接这两个方法都会抛出一个类型为 IOError的错误.尽管你可以将send()或者flush()方法放入try/catch结构块中,你也不能依赖于try/catch结构块作为你 应用程序的逻辑.更好的办法是,在调用send()或者flush()方法之前使用一个if语句首先判断一下Socket对象的connected属性是 否为True.
     例如,下面的代码使用了if语句作为程序逻辑的一部分,当Socket对象当前不是连接状态就调用 connectToSocketServer()方法.但是我们依然需要将flush()方法放到try/catch语句块中.通过使用 try/catch语句块将flush()方法抛出的错误写入到日志中:

  1. if ( socket.connected ) {
  2.     try {
  3.         socket.flush( );
  4.     }
  5.     catch( error:IOError ) {
  6.         logInstance.write( "socket.flush error\n" + error );
  7.     }
  8. }
  9. else {
  10.     connectToSocketServer( );
  11. }
复制代码

所有的Socket类的read方法都能够抛出EOFError和IOError类型的错误.当你试图读一个数据,但是没有任何可用数据将触发EOF错误.当你试图从一个已经关闭的Socket对象中对数据时将会抛出I/O错误.
    除了Socket和XMLSocket类的方法能够抛出的错误以外,这些类的对象还会分发错误事件.有两种基本的错误事件类型,他们分别由 socketIOError和securityError错误引起.IOError事件为IOErrorEvent类型,当数据发送或接收失败触发该事 件.SecurityError事件是SecurityErrorEvent类型,当一个Socket尝试连接一个服务器,但由于服务器不在安全沙箱范围 之内或者端口号小于1024的时候触发该错误事件.
注意:这两种安全策略引起的错误都可以通过跨域访问策略文件解决.

分享到:
评论

相关推荐

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

    Java和ActionScript 3 (AS3) 之间的Socket通信是一个常见的需求,特别是在开发跨平台的实时应用程序时。本文将深入探讨如何实现这两种语言间的Socket通信,并解决在Flash Player的安全沙箱问题。 首先,让我们理解...

    FLASH AS3 SOCKET收发16进制示例

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

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

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

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

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

    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_的简单实例

    总之,AS3的`Socket`类提供了一种直接与远程服务器进行TCP通信的能力,适合于需要自定义协议或低级别控制网络通信的场景。通过学习和理解TCP/IP协议以及应用层协议如POP3,开发者可以利用`Socket`类构建功能丰富的...

    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的...

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

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

    Flex 的socket通信

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

    AS3使用Socket的简单例子.txt

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

    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则是用于实现网络上的双向通信的...

    as3与java简单socket交互demo

    **AS3中的Socket通信** AS3是Adobe开发的脚本语言,主要用于Flash和Flex应用。在AS3中,我们可以使用`flash.net.Socket`类来建立TCP Socket连接。以下是一些关键知识点: 1. **初始化Socket对象**:首先,我们需要...

Global site tag (gtag.js) - Google Analytics