Буферизованный входной поток, показывающий предыдущие данные - PullRequest
0 голосов
/ 25 декабря 2011

1.Подключено 2 клиента с использованием сокетов

2.Client1 записывает что-то в сокет

3.Клиент 2 читает данные

4.Клиент 2 затем записывает данные в тот же сокет

5.Клиент 1 теперь читает данные

проблема возникает на шаге 5. Данные, доступные в буферизованном входном потоке на шаге 5 для client1, также содержат некоторое количество данных, записанных на шаге2.i.e. входной поток не очищается, когда на шаге 3 клиент 2 считывает данные. Пожалуйста, помогите

Ответы [ 2 ]

0 голосов
/ 25 декабря 2011

вы не должны очищать поток. Попробуйте добавить "\ n" в конце ваших строк.

PS : ИМХО с использованием сканера вместо буферизованного потока будет проще.

Удачного кодирования.

0 голосов
/ 25 декабря 2011

Я предполагаю, что у вас есть один сокет для каждого клиента и отдельный поток для отправки и получения.В связи с этим невозможно спутать данные между клиентами или входящими или исходящими данными.

Я предлагаю вам иметь поток чтения и записи на клиенте и поток на сервере.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...