Я пытаюсь реализовать простое приложение для чата между сервером java-pc и Android-приложением.PC-Android, wifi communication
Я собрал несколько руководств, найденных на линии, чтобы получить почти удовлетворительные результаты.
Моя проблема заключается в следующем: по какой-то причине я могу получать сообщение на свой сервер, но когда я отправляю его с моего сервера (ПК), мой телефон Android не может прочитать строку.
Вот часть в программе Java-рс посылающего сообщение: Первая отправка метод кнопка:
public void sendMessageBtn(){
String message = userText.getText();
userText.setText("");
chatWindow.appendText("Server : "+ message + "\n");
// send the message to the client
mServer.sendMessage(message);
}
И вот (сообщение) Метод SendMessage в моем ServerClass:
public void sendMessage(String message){
System.out.println("Message blocked here");
if(mOut != null){
System.out.println("Message : " + message + " sent");
mOut.println();
mOut.flush();
System.out.println("Message fully sent");
}
}
Все, кажется, работает на этой стороне, поскольку я получаю все println();
На стороне телефона здесь метод перезаписи слушателя из моего asynk класса:
public class connectTask extends AsyncTask<String, String, TCPClient>{
@Override
protected TCPClient doInBackground(String... message) {
// We crape a tpc client object and ...
mTcpClient = new TCPClient(new OnMessageReceived() {
// ... we implement the messageReceived previously defined as an interface
@Override
public void messageReceived(String message) {
// this method calls the onProgressUpdate
Log.e("messagedReceive method :", message);
publishProgress(message);
// Toast.makeText(getApplicationContext(),serverMessage,Toast.LENGTH_LONG).show();
}
});
mTcpClient.run();
return null;
}
@Override
protected void onProgressUpdate(String... values) {
super.onProgressUpdate(values);
// Log.e("On progressedUpdate", "super passed");
// in the arrayList we add the message from the server
// arrayList.add("Message received");
Log.e("MainActivity: ", "onProgressedUpdate call");
arrayList.add("Server: "+values[0]);
// notify the adapter that the data set has changed. This means that new message received
// from server was added to the list
mAdapter.notifyDataSetChanged();
}
}
Из того, что я понял, он чувствует, как значение [0] пусто Eventhough сообщение получено или, по меньшей мере, одно сообщение, так как все мои Log.e активированы, указывая, что метод onReceive активирован.
Заранее благодарим за помощь, я работаю над этим в течение некоторого времени и начинаю отчаянно;).
С наилучшими пожеланиями,
Большое спасибо! Теперь все в порядке. –
большой ... если работа, закрыть вопрос .. – ELITE