Есть клиент(андроид прил.) и Сервер(Ява прога). Сделал свой первый сокет и не очень в этом всем разбираюсь. На начала сделал прогу которая отправляет сообщения на сервер а тот принимает и пишет камандой 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));
не выводится
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости