Приводит ли чтение объекта переменной в двух разных файлах к исключению java.io.StreamCorruptedException: неверный код тJAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Гость
 Приводит ли чтение объекта переменной в двух разных файлах к исключению java.io.StreamCorruptedException: неверный код т

Сообщение Гость »


Переменная считывается как в файле ClientsListener, так и в файле Client Main, поскольку переменная is используется в качестве аргумента для файла ClientsListener. Может ли это привести к ошибке java.io.StreamCorruptedException: неверный код типа: ошибка AC?

Код: Выделить всё

    package chatRoom2;

import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.net.Socket;
import java.util.Scanner;

public class ClientMain
{
public static void main(String[] args)
{
try {

ChatRoomInfo info = new ChatRoomInfo(); //How should the infos communicate?
Scanner s = new Scanner(System.in);
System.out.println("Enter your name:");
String username = s.nextLine();

while (!ChatRoomInfo.nameIsAvailable(username))
{
System.out.println("Enter your name:");
username = s.nextLine();

}

System.out.println("Enter the ip address of the server:");
String address = s.nextLine();
s.close();

Socket socket = new Socket(address,8001);
ObjectInputStream is = new ObjectInputStream(socket.getInputStream());
ObjectOutputStream os = new ObjectOutputStream(socket.getOutputStream());

System.out.println("Connected as " + username);
CommandFromServer cfs = (CommandFromServer) is.readObject();
ChatRoomFrame2 frame = new ChatRoomFrame2(os, username);

ClientsListener cl = new ClientsListener(is,os,frame);
Thread t = new Thread(cl);
t.start();
os.writeObject(new CommandFromClient(CommandFromClient.JOINED, username, ""));

}
catch(Exception e)
{
e.printStackTrace();
}
}
}
package chatRoom2;

import java.io.ObjectInputStream;

import java.io.ObjectOutputStream;
import java.net.ServerSocket;
import java.net.Socket;
import java.util.ArrayList;

public class ServerMain
{

ServersListener sl;

public static ArrayList oos = new ArrayList();

public static ArrayList ois = new ArrayList();

public static ArrayList sockets = new ArrayList();

public static void main(String[] args)
{
try
{

ServerSocket serverSocket = new ServerSocket(8000);
while(true)
{

Socket a = new Socket();

a = serverSocket.accept();
sockets.add(a);

ObjectOutputStream b = new ObjectOutputStream(a.getOutputStream());

ObjectInputStream c = new ObjectInputStream(a.getInputStream());

ServersListener sl = new ServersListener(c, b);

ObjectOutputStream os = new ObjectOutputStream(a.getOutputStream());

ObjectInputStream is = new ObjectInputStream(a.getInputStream());

Thread t = new Thread(new ServersListener(is,os));

t.start();
}
}
catch(Exception e)
{
e.printStackTrace();
}
}

}
This is the console output. Все работает как положено, пока не появится сообщение «java.io.StreamCorruptedException: неверный код типа: AC».

Код: Выделить всё

    Enter your name:
k
Enter the ip address of the server:
127.0.0.1
Connected as k
java.io.StreamCorruptedException: invalid type code: AC
at java.base/java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1775)
at java.base/java.io.ObjectInputStream.readObject(ObjectInputStream.java:514)
at java.base/java.io.ObjectInputStream.readObject(ObjectInputStream.java:472)
at chatRoom2.ClientMain.main(ClientMain.java:37)


Источник: https://stackoverflow.com/questions/781 ... -java-io-s
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Java.io.streamCorruptedException: неверный код типа: 00
    Anonymous » » в форуме JAVA
    0 Ответы
    5 Просмотры
    Последнее сообщение Anonymous
  • Инициализация переменной приводит к исключению IndexOutOfRangeException
    Anonymous » » в форуме C#
    0 Ответы
    10 Просмотры
    Последнее сообщение Anonymous
  • Инициализация переменной приводит к исключению IndexOutOfRangeException
    Anonymous » » в форуме C#
    0 Ответы
    13 Просмотры
    Последнее сообщение Anonymous
  • Инициализация переменной приводит к исключению IndexOutOfRangeException
    Anonymous » » в форуме C#
    0 Ответы
    21 Просмотры
    Последнее сообщение Anonymous
  • Агент Jenkins EC2 выходит из строя с Java.io.streamCorruptedException: Недопустимый заголовок потока: 636F7272 во время
    Anonymous » » в форуме JAVA
    0 Ответы
    3 Просмотры
    Последнее сообщение Anonymous

Вернуться в «JAVA»