0
public class Server extends AsyncTask<Void, Intent, Void> {
private final Context context;
public Server(Context context) {
this.context = context;
}
@Override
protected Void doInBackground(Void... params) {
try {
ServerSocket server = new ServerSocket(12345);
while (true) {
Socket client = server.accept();
// send message
OutputStream outputStream = client.getOutputStream();
String message = "Hello Android! - Send from Server.";
outputStream.write(message.getBytes());
// THIS DONT WORK FOR SOME REASONS read message
String response = "";
// InputStream inputStream = client.getInputStream();
// response = Utils.inputStreamToString(inputStream);
// notify ServerService
Intent intent = new Intent(Messenger.ACTION);
intent.putExtra("action", Messenger.SERVER_NEW_CLIENT_CONNECTED);
intent.putExtra("message", "Message: " + response);
publishProgress(intent);
client.close();
}
server.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return null;
}
@Override
protected void onProgressUpdate(Intent... value) {
if (value.length == 0)
return;
Intent data = value[0];
context.sendBroadcast(data);
}
}
Le bloc dans lequel je lis le message de la socket est mis en commentaire. Si je ne commente pas, le socket client ne peut pas établir une connexion au serveur. Quel peut être le problème?ServerSocket envoie un message au client
Il n'y a pas d'erreurs dans la console et logcat. Votre méthode n'a pas beaucoup de sens pour moi mais je vais l'essayer. –
C'est une méthode que j'utilise pour mon serveur-client et cela fonctionne. – tb96