Я пытаюсь соединить два отдельных приложения через сокет TCP / IP. В этом случае ни одно из приложений не работает как «клиент» другого, было бы проще описать их как два отдельных сервера, которые должны взаимодействовать друг с другом.
Для получения данных я использую функцию InputStream.Read()
, и как только она получает значение -1
, она должна прекратить обработку. Однако теперь проблема заключается в том, что, если другой набор данных встречается, InputStream
уже находится в конце потока (EOS
), и поэтому все новые отправляемые данные отбрасываются или игнорируются. Единственный способ, который я нашел, чтобы решить эту проблему, состоит в том, что, как только достигнут конец потока, я закрываю сокет и снова открываю его, который, я думаю, может быть обработан лучше другим способом.
Как я могу сбросить InputStream, чтобы он был готов к следующему набору данных, которые могут прийти?