关于as网络通信方面首先要解决的有两点问题:
第一:如何准确确定网络上的主机;
第二:如何与找到的主机进行高效的通信;
Socket与xmlSocket可能抛出的异常有三种:
1、EOFError
2、IOError
3、SecurityError
在xmlSocket.send()或者socket.flush()函数调用时,如果连接尚未建立,那么就抛出IOError异常;
虽然会抛出异常,但try、catch并不属于程序逻辑部分,因此需要些一个if语句判断连接是否建立,即使是这样,也仍然需要try、catch,来将信息写入到日志文件中去;
if(socket.connected){
try{
socket.flush();
}
catch(error:IOError){
logInstance.write("socket fulsh error\n"+ error);
}
}
else{connectToSocketServer();
}
两外如果该swf文件未通过本地安全认证或者端口号大于655535,则抛出SecrurityError安全异常。
Socket与XMLSocket除了能抛错误之外,这些类的对象还能分发错误事件。有两种基本的错误事类型,他们分别由socketIOError和SecurityError错误引起。IOError事件为IOErrorEvent类型,当数据发送或接受失败时触发该事件。SecurityError事件是SecurityErrorEvent类型,当一个Socket尝试连接一个服务器,但由于服务器不再安全沙箱范围之内或者端口号小于1024的时候触发错误事件。