powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / InputStream Сервер/Клиент
7 сообщений из 7, страница 1 из 1
InputStream Сервер/Клиент
    #38489902
Hacktivist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Имеется сервер, при подключении к которому отделяется отдельный поток:
Код: java
1.
2.
3.
4.
5.
6.
 while(true){
    			  Socket socket = SS.accept();
    			  SocketThread ST = new SocketThread(socket);
    			  Thread ConnectingClient = new Thread(ST);
    			  ConnectingClient.start();
    		  }



В этом потоке переменные для чтения/отправки сериализованных объектов:

Код: java
1.
2.
3.
final ObjectOutputStream outStream = new ObjectOutputStream(this.socket.getOutputStream());
	      final ObjectInputStream inStream = new ObjectInputStream(this.socket.getInputStream());
		



Проблема в том, что выполнения кода останавливается на строчке final ObjectInputStream inStream = new ObjectInputStream(this.socket.getInputStream());

Что я делаю не так?
...
Рейтинг: 0 / 0
InputStream Сервер/Клиент
    #38489923
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Странно. Что говорит stacktrace потока? Если бы на чтении заблокировалось, было бы понятно. На getOutputStream не припомню чтобы блокировалось.
...
Рейтинг: 0 / 0
InputStream Сервер/Клиент
    #38490004
Hacktivist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Не умею пользоваться stacktrace'ом) Новичок в этом деле :\
Где-то читал, что InputStream ожидает прихода заголовка от OutputStream, поэтому надо создавать Output до Input. Но мне даже outStream.flush() не помогает
...
Рейтинг: 0 / 0
InputStream Сервер/Клиент
    #38490028
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Клиент вообще что-то отправил?
...
Рейтинг: 0 / 0
InputStream Сервер/Клиент
    #38490042
Hacktivist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Нет, клиент пока ничего не отправлял. Просто приконнектился.
Я подготовил эти переменные, чтобы потом туда передавать данные
...
Рейтинг: 0 / 0
InputStream Сервер/Клиент
    #38490065
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну, возможно от ждет прихода данных.
...
Рейтинг: 0 / 0
InputStream Сервер/Клиент
    #38490376
Hacktivist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Очень похоже на правду. Начал отсылать в объекты с клиента, вроде бы ошибка ушла, НО:

Если я пишу так, то получаю SocketException: socket closed
Код: java
1.
2.
3.
4.
5.
6.
final ObjectOutputStream outStream = new ObjectOutputStream(this.socket.getOutputStream());
			 final ObjectInputStream inStream = new ObjectInputStream(this.socket.getInputStream());

			while (true){
					msg = (Message)inStream.readObject();
....



Если я пишу так, то получаю EOF Exception:

Код: java
1.
2.
3.
4.
5.
6.
ObjectOutputStream outStream = new ObjectOutputStream(this.socket.getOutputStream());
			 ObjectInputStream inStream = new ObjectInputStream(this.socket.getInputStream());

			while (true){
					msg = (Message)inStream.readObject();
....




Если я помещаю создание потоков внутрь цикла, то все работает:
Код: java
1.
2.
3.
4.
5.
while (true){
				 ObjectOutputStream outStream = new ObjectOutputStream(this.socket.getOutputStream());
				 ObjectInputStream inStream = new ObjectInputStream(this.socket.getInputStream());
					msg = (Message)inStream.readObject();
....



Есть ли принципиальные различия?
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / InputStream Сервер/Клиент
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]