Actionscript 3 &引用;索引超出范围”;将readObject与套接字一起使用时出错
我正在尝试构建一个简单的as3服务器/客户端应用程序 当客户端连接到服务器时,它应该向服务器发送类似“1”的消息 服务器执行以下操作:Actionscript 3 &引用;索引超出范围”;将readObject与套接字一起使用时出错,actionscript-3,sockets,Actionscript 3,Sockets,我正在尝试构建一个简单的as3服务器/客户端应用程序 当客户端连接到服务器时,它应该向服务器发送类似“1”的消息 服务器执行以下操作: private function onConnect(e:ServerSocketConnectEvent):void { incomingSocket = e.socket; incomingSocket.addEventListener(ProgressEvent.SOCKET_DATA, onData); // You can no
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:错误#2006:提供的
索引超出范围。在
flash.net::Socket/readObject()
行号闪存提供给我,表明问题是
var s:String = incomingSocket.readObject();
有人知道这是怎么回事吗
谢谢大家!!
nreadObject用于读取套接字上的序列化对象 如果发送了字符串,请使用readUTF,如果知道字符串的长度,请使用readUTFBytes
如果发送了Int,请使用readInt或相应的方法。readObject用于读取套接字上的序列化对象 如果发送了字符串,请使用readUTF,如果知道字符串的长度,请使用readUTFBytes
如果您发送了Int,请使用readInt或相应的方法。谢谢您的回答。我用readUTF尝试了一下,但它抛出了一个错误:“错误:错误#2030:遇到文件结尾。在flash.net::Socket/readUTF()”您应该熟悉Adobe Live Reference。它将告诉您参数是uint的字节数。是的,我发现了,所以我编辑了我的评论。我现在遇到的问题是:“错误:错误#2030:遇到文件结尾。在flash.net::Socket/readUTF()”向服务器发送数据时,必须以空值字符串终止。fromCharCode(0)。在服务器上的retrospect中,当您将数据发送到客户端时,您必须以null值结束数据,在PHP中也是这样,即chr(0)。谢谢您的回答。我用readUTF尝试了一下,但它抛出了一个错误:“错误:错误#2030:遇到文件结尾。在flash.net::Socket/readUTF()”您应该熟悉Adobe Live Reference。它将告诉您参数是uint的字节数。是的,我发现了,所以我编辑了我的评论。我现在遇到的问题是:“错误:错误#2030:遇到文件结尾。在flash.net::Socket/readUTF()”向服务器发送数据时,必须以空值字符串终止。fromCharCode(0)。在服务器上的retrospect中,当您将数据发送到客户端时,您必须以null值结束数据,在PHP中也是chr(0)。请告诉我们您是如何发送消息的。请告诉我们您是如何发送消息的。