2016-08-11 3 views
0

У меня проблема с получением ответа от сервера. Мое приложение делает снимок, отправляет его на сервер и ждет ответа. К сожалению, я получаю socket is closed exception всякий раз, когда я пытаюсь получить ответ в Inputstream. Я борюсь с этим в течение 2 дней. Я пробовал разные типы Input и Output потоков, но я понятия не имею, что это происходит. Я пробовал разные решения из других подобных тем, но никто из них не работает. Я плохо разбираюсь в Android, потому что это одно из моих первых приложений.Розетка закрыта - Android AsyncTask

+0

Ну, это работает сервер и принимать входящие соединения? –

+0

сервер написан на C#. Сервер работает, получает отсканированное изображение, а также отправляет ответ – SimpleCoder

+0

a. какой протокол вы используете b. вы указали требуемое разрешение в манифесте? – donald

ответ

1

OutputSteam#close()

Закрывает выходной поток и освобождает все системные ресурсы, связанные с этим потоком

Вы закрываете OutputSteam до получения InputStream (который где выбрасывается ошибка .

Я бы рекомендовал закрыть сокет и потоки в finally блок.

+0

Если я комментирую 'outputstream', есть странная ситуация, что ничего не происходит - изображение не отправляется, и ничего не отображается в Logcat – SimpleCoder

+0

Я не сказал, что удалить OutputSteam, вам явно нужно записать массив байтов изображения. Я просто сказал, что не закрываем поток преждевременно. –

+1

ok, пожалуйста, проверьте обновленный код, потому что, если вы имеете в виду что-то подобное, это не работает, и, говоря это, я имею в виду, что ничего не происходит - изображение не отправляется, а Logcat пуст – SimpleCoder

0

java.net.SocketException возникает только тогда, когда у закрыть (или) Розетка OutputStream перед чтением из server.so проверить код

Смежные вопросы