Переменная считывается как в файле 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)
Переменная считывается как в файле ClientsListener, так и в файле Client Main, поскольку переменная is используется в качестве аргумента для файла ClientsListener. Может ли это привести к ошибке java.io.StreamCorruptedException: неверный код типа: ошибка AC? [code] package chatRoom2;
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, ""));
} [/code] This is the console output. Все работает как положено, пока не появится сообщение «java.io.StreamCorruptedException: неверный код типа: AC». [code] 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) [/code]
Таким образом, я пишу многопользовательскую игру с клиентом.
Когда я отправляю исключение для запроса для Greatforgame, брошен Java.io.streamCorruptedException: код неверного типа: 00
Я предполагаю, что оба потока пытаются прочитать один и тот же...
Я создаю игру Unity с открытым исходным кодом и программирую как обычно, когда внезапно обнаружил исключение IndexOutOfRangeException при нажатии кнопки.
IndexOutOfRangeException: индекс находился за пределами массива.
в SaveFileScript.OnMouseUp ()...
Я создаю игру Unity с открытым исходным кодом и программирую как обычно, когда внезапно обнаружил исключение IndexOutOfRangeException при нажатии кнопки.
IndexOutOfRangeException: индекс находился за пределами массива.
в SaveFileScript.OnMouseUp ()...
Я создаю игру Unity с открытым исходным кодом и программирую как обычно, когда внезапно обнаружил исключение IndexOutOfRangeException при нажатии кнопки.
IndexOutOfRangeException: индекс находился за пределами массива.
в SaveFileScript.OnMouseUp ()...
У меня есть настройка Jenkins в моей среде AWS с конфигурацией Master-Slave. Процесс оформления GIT.
журналы:
FATAL: java.io.StreamCorruptedException: invalid stream header: 636F7272
java.io.StreamCorruptedException: invalid stream header:...