24.6.处理Socket异常

问题
使用socket如何处理可能引发的异常
解决办法
使用try/catch 处理I/O 和(EOF) 异常
讨论
Socket 和XMLSocket 类处理异常的方式基本类似,当调用connect( )方法时,如遇到下面的情况Socket 和XMLSocket 对象都抛出SecurityError:
.swf 被认为本地非安全
端口号高于655535.
当调用send( ) (XMLSocket) 或flush( ) (Socket),如果没有事先连接好,则抛出IOError,可先通过socket对象的connected属性是否为true,再调用send( ) 或flush( )。如下面的代码:
+展开
-ActionScript
if ( socket.connected ) {
try {
socket.flush( );
}
catch( error:IOError ) {
logInstance.write( "socket.flush error\n" + error );
}
}
else {
connectToSocketServer( ); //进行socket连接
}

Socket 所有的read 方法都可能抛出EOFError和IOError,但没有数据可读而读取时引发EOF异常,当socket已关闭而去读取时引发I/O 异常。

加支付宝好友偷能量挖...


评论(0)网络
阅读(88)喜欢(0)flash/flex/fcs/AIR