Ошибка «index вне границ» при использовании readObject с сокетами - PullRequest
1 голос
/ 05 ноября 2010

Я пытаюсь создать простое приложение сервер / клиент 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);
}

Итак, флэш-память выдает мне сообщение об ошибке:

RangeError: Ошибка № 2006: предоставленный индекс выходит за пределы.на flash.net::Socket/readObject()

Вспышка номера строки предоставляет мне, показывает, что проблема в

var s:String = incomingSocket.readObject();

Кто-нибудь есть идея, что здесь происходит?

Спасибо!п

1 Ответ

1 голос
/ 05 ноября 2010

readObject используется для чтения сериализованного объекта в сокете.

Если вы отправили строку, используйте readUTF или readUTFBytes, если вы знаете, какую длину должна иметь строка.

Если выотправил Int, используйте readInt или соответствующий метод.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...