我正在尝试构建一个简单的as3服务器/客户端应用程序。
客户端连接到服务器后,它应该向服务器发送类似“1”的消息。
服务器执行以下操作:
private function onConnect(e:ServerSocketConnectEvent):void
{
incomingSocket = e.socket;
incomingSocket.addEventListener(ProgressEvent.SOCKET_DATA, onData);
// You can now read and write data from the socket instance
trace("looks like a connection happened!");
}
private function onData(e: ProgressEvent):void {
var s:String = incomingSocket.readObject();
interrupt(s);
}
因此,Flash会抛出错误:
RangeError: Error #2006: The supplied index is out of bounds. at flash.net::Socket/readObject()
行号闪烁提供给我,表明问题是
var s:String = incomingSocket.readObject();
有谁知道这是怎么回事吗?
谢谢!
ñ
最佳答案
readObject用于读取套接字上的序列化对象。
如果发送了字符串,请使用readUTF或readUTFBytes(如果知道字符串的长度)。
如果您发送了一个Int,请使用readInt或相应的方法。
关于actionscript-3 - 在套接字上使用readObject时出现“index is out of bounds”错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4105850/