Привет, я хочу сделать что-то вроде этого: я хочу отправить данные на сервер и дождаться получателя byte[] от сервера. сервер отправит массив, когда все будет получено. Но я хочу сделать тайм-аут, потому что иногда сервер не получает все и ничего не отправляет.
Я делаю это, но это не работает. Мое приложение всегда ждет byte[]
public class MyClientTask1 extends AsyncTask {
String dstAddress;
int dstPort;
String response = "";
byte[] data;
int count;
MyClientTask1(String addr, int port) {
dstAddress = addr;
dstPort = port;
}
byte[] buffer = new byte[1024];
@Override
protected byte[] doInBackground(Void... arg0) {
// if (pingHost(1000)) {
socket = null;
try {
socket = new Socket(dstAddress, dstPort);
OutputStream os = socket.getOutputStream();
OutputStreamWriter osw = new OutputStreamWriter(os);
BufferedWriter bw = new BufferedWriter(osw);
String number = "10";
String sendMessage = number + "\n";
bw.write(sendMessage);
bw.flush();
InputStream stream = socket.getInputStream();
data = new byte[100];
count = stream.read(data);
if(stream.read() == null)
Thread.sleep(2000);
count = stream.read(data);
if( count != 0){
data = null;
}
// while ((count = stream.read(data)) != -1){
// count=stream.read(data);
// }
} catch (UnknownHostException e) {
e.printStackTrace();
isSuccsess = false;
response = "UnknownHostException: " + e.toString();
} catch (IOException e) {
e.printStackTrace();
Log.d("la", "nie udało sie");
isSuccsess = false;
response = "IOException: " + e.toString();
} catch (InterruptedException e) {
e.printStackTrace();
}
return data;
}
@Override
protected void onPostExecute(byte[] bytes) {
super.onPostExecute(bytes);
if(bytes != null) {
showToast("zgadza się");
} else {
showToast("nie zgadza się");
}
}
else{
showToast("nie ma nic");
}
pbWheel.setVisibility(View.INVISIBLE);
}
Подробнее здесь: https://stackoverflow.com/questions/407 ... rom-server
Java Android получает байт [] с сервера ⇐ JAVA
Программисты JAVA общаются здесь
1719733254
Anonymous
Привет, я хочу сделать что-то вроде этого: я хочу отправить данные на сервер и дождаться получателя byte[] от сервера. сервер отправит массив, когда все будет получено. Но я хочу сделать тайм-аут, потому что иногда сервер не получает все и ничего не отправляет.
Я делаю это, но это не работает. Мое приложение всегда ждет byte[]
public class MyClientTask1 extends AsyncTask {
String dstAddress;
int dstPort;
String response = "";
byte[] data;
int count;
MyClientTask1(String addr, int port) {
dstAddress = addr;
dstPort = port;
}
byte[] buffer = new byte[1024];
@Override
protected byte[] doInBackground(Void... arg0) {
// if (pingHost(1000)) {
socket = null;
try {
socket = new Socket(dstAddress, dstPort);
OutputStream os = socket.getOutputStream();
OutputStreamWriter osw = new OutputStreamWriter(os);
BufferedWriter bw = new BufferedWriter(osw);
String number = "10";
String sendMessage = number + "\n";
bw.write(sendMessage);
bw.flush();
InputStream stream = socket.getInputStream();
data = new byte[100];
count = stream.read(data);
if(stream.read() == null)
Thread.sleep(2000);
count = stream.read(data);
if( count != 0){
data = null;
}
// while ((count = stream.read(data)) != -1){
// count=stream.read(data);
// }
} catch (UnknownHostException e) {
e.printStackTrace();
isSuccsess = false;
response = "UnknownHostException: " + e.toString();
} catch (IOException e) {
e.printStackTrace();
Log.d("la", "nie udało sie");
isSuccsess = false;
response = "IOException: " + e.toString();
} catch (InterruptedException e) {
e.printStackTrace();
}
return data;
}
@Override
protected void onPostExecute(byte[] bytes) {
super.onPostExecute(bytes);
if(bytes != null) {
showToast("zgadza się");
} else {
showToast("nie zgadza się");
}
}
else{
showToast("nie ma nic");
}
pbWheel.setVisibility(View.INVISIBLE);
}
Подробнее здесь: [url]https://stackoverflow.com/questions/40741260/java-android-get-byte-from-server[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия