Я попытался отправить значение типа int с клиента на сервер. Это клиентский код, который я использую ниже:
_port = 8071;
_socket = new Socket("localhost", _port);
Random rand = new Random();
int n = rand.nextInt(50) + 1;
DataOutputStream dos = new DataOutputStream(_socket.getOutputStream());
dos.writeInt(n);
dos.flush();
Код сервера
try {
input = new BufferedReader(new InputStreamReader(socket.getInputStream()));
ObjectInputStream in = null;
in = new ObjectInputStream(socket.getInputStream());
int ClientNumber= in.readInt();
System.out.println(ClientNumber);
}
но я получаю неверную ошибку заголовка потока.
недопустимый заголовок потока: 0000002B в java.io.ObjectInputStream.readStreamHeader (ObjectInputStream.java:781) в java.io.ObjectInputStream. (ObjectInputStream.java:278) в ServiceRequest.run (ServiceRequest.java:24) в java.util. concurrent.Executors $ RunnableAdapter.call (Executors.java:439) в java.util.concurrent.FutureTask $ Sync.innerRun (FutureTask.java:303) в java.util.concurrent.FutureTask.run (FutureTask.java:138) в java.util.concurrent.ThreadPoolExecutor $ Worker.runTask (ThreadPoolExecutor.java:895) в java.util.concurrent.ThreadPoolExecutor $ Worker.run (ThreadPoolExecutor.java:918) в java.lang.Thread : 680)
Кто-нибудь знает, что вызывает ошибку? Мой код настроен неправильно?
InputStreamReader, wrapping it in a
BufferedReader`, а затем полностью игнорируете его? - person Jon Skeet   schedule 30.04.2013