У меня есть сетевой сервер Java, работающий в режиме онлайн на выделенном сервере, и у меня есть сетевой клиент Android, написанный на Android SDK и java.
Работает нормально, если устройство Android подключено к WIFI, но если я подключаю устройство через 3G, сокет закрывается, когда я звоню: readInt()
с клиента. Это не происходит при первом звонке, но позже. Это выглядит очень случайным, и это трудно объяснить, но это может произойти, когда больше нет данных, которые слишком читаются (или нет). Исключение составляет SocketException connection reset by peer
.
Я хотел бы объяснить более конкретно, но отладку очень сложно, и, на мой взгляд, это похоже на ошибку Android (не уверен в этом). И именно поэтому я задаю этот вопрос. Потому что наверняка кто-то сталкивался с той же проблемой.
В чем может быть разница между соединением WIFI и соединением 3G для устройства Android, которое может вызвать такое отключение? Что может быть исправлением для этого?
Спасибо, если кто-нибудь может помочь.
Редактировать: мое соединение 3G НЕ разрывается. Это сокет, который клюет, и только сокет. И это только происходит, если я подключаюсь в 3G. Не в WIFI.