Есть клиент(андроид прил.) и Сервер(Ява прога). Сделал свой первый сокет и не очень в этом всем разбираюсь. На начала сделал прогу которая отправляет сообщения на сервер а тот принимает и пишет камандой System.out.println(msg)
.
Тута все идеально но проблема в том что Когда я попытался сам самостоятельно прочитать на клиенте и отправить на сервере то ничего не вышло.
Вота кот сервера:
try {
while(true){
mySock = new ServerSocket(5000);
s = mySock.accept();
in = new InputStreamReader(s.getInputStream());
br = new BufferedReader(in);
msg = br.readLine();
System.out.println(msg);
// Нижней код написал сам. Без этого код работал
// пытаюсь прочитать данные
pr = new PrintWriter(s.getOutputStream());
pr.write("send massenge");
System.out.println("send massenge");
pr.close();
in.close();
br.close();
mySock.close();
s.close();
}
} catch (IOException ex) {
Logger.getLogger(JavaServer.class.getName()).log(Level.SEVERE, null, ex);
}
вот клиента(при каждом нажатии кнопки создается и запускается этот класс):
class MyTask extends AsyncTask{
@Override
protected void onProgressUpdate(String... values) {
if (values[0].equals("0")){
Toast.makeText(context , "true" , Toast.LENGTH_LONG).show();
}
else if (values[0].equals("1")){
Toast.makeText(context , "false" , Toast.LENGTH_LONG).show();
}
else if(values[0] == null){
Toast.makeText(context , "null" , Toast.LENGTH_LONG).show();
}
else{
Toast.makeText(context , values[0] , Toast.LENGTH_LONG).show();
}
}
@Override
protected String doInBackground(String... voids) {
try {
socket = new Socket(ip , 5000);
if (socket.isConnected()){
publishProgress("0");
}
else {
publishProgress("1");
}
pr = new PrintWriter(socket.getOutputStream());
pr.write("message");
// Нижней код написал сам. Без этого код работал
// пытаюсь принять данные
input = new InputStreamReader(socket.getInputStream());
bf = new BufferedReader(input);
String s = bf.readLine();
publishProgress("server:".concat(s));
bf.close();
input.close();
pr.close();
socket.close();
return "okey";
} catch (IOException e) {
return "ne okey";
}
}
}
При этом никаких ошибок. При первом нажатии выводиться Toast c надписью "true" , втарой же раз никакой реакции.
input = new InputStreamReader(socket.getInputStream());
bf = new BufferedReader(input);
String s = bf.readLine();
publishProgress("server:".concat(s));
не выводится
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Дело в том что я до этого удалял и обновлял записи в Realm таким образом:
Нужно найти в заданном с клавиатуры шестизначном числе, цифры 0
Имеется приложение, которое работает с локальной базой данных SQLiteВ этой БД хранятся ссылки на файлы и ключевые слова, по которым можно найти...