Полезная информация

Mozilla Россия — свежие версии программ Mozilla, а также масса полезной информации по каждому продукту.

№115-11-2010 20:55:18

AllSeeingI
Участник
 
Группа: Members
Зарегистрирован: 12-03-2007
Сообщений: 107
UA: Firefox 3.6

Как отследить конец записи в nsIOutputStream?

Всем доброго дня,

ситуация следующая: записываю в nsIServerSocket большой кусок данных через его output stream:

Выделить код

Код:

onSocketAccepted: function(serverSocket, clientSocket)
{
    this.clientSocket = clientSocket;

    this.outputStream = clientSocket.openOutputStream(0, 0, 0).QueryInterface(that.Ci.nsIAsyncOutputStream);

    ...

    this.outputStream.write(..., ...)

Данные пишутся в несколько заходов.

Мне надо после окончания записи закрыть соединение. Но как отследить это окончание? asyncWait/onOutputStreamReady не помогают - onOutputStreamReady иногда вызывается, когда часть данные ещё не отдана в сокет. setEventSink на сокете тоже не помогает - почему-то onTransportStatus не вызывается после записи последнего куска.

Может есть какое-то решение? Заранее спасибо.

Отредактировано AllSeeingI (15-11-2010 21:04:20)

Отсутствует

 

Board footer

Powered by PunBB
Modified by Mozilla Russia
Copyright © 2004–2020 Mozilla Russia GitHub mark
Язык отображения форума: [Русский] [English]