`
ch_kexin
  • 浏览: 875599 次
  • 性别: 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的时候触发该错误事件.
注意:这两种安全策略引起的错误都可以通过跨域访问策略文件解决.

分享到:
评论

相关推荐

    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