Android Studio - локальный путь не существует

Вероятно, это проблема ObjectOutputStream.

Если вы используете на сервере один объект ObjectOutputStream, вам нужно убедиться, что вы вызываете reset на него, иначе он будет писать общие ссылки на ранее написанные объекты. Это похоже на то, что вы видите.

Чтобы проиллюстрировать проблему:

class BrokenServer {
    void sendBrokenVoteData(ObjectOutputStream out) {
        out.writeObject(votes);
        changeVoteData(votes);
        out.writeObject(votes); // Writes a shared reference to "votes" WITHOUT updating any data.
    }
}

class FixedServer {
    void sendFixedVoteData(ObjectOutputStream out) {
        out.writeObject(votes);
        changeVoteData(votes);
        out.reset(); // Clears all shared references.
        out.writeObject(votes); // Writes a new copy of "votes" with the new data.
    }
}
140
задан Roman C 20 March 2016 в 08:39
поделиться