Falha na conexão Android Studio Socket Cliente

  • Respostas:0
Leonardo Luiz de Oliveira
  • Posts no fórum: 1

27/01/2023, 22:22:27 via Web

Olá pessoal, estou tentando fazer um socket que comunique entre java (Client no Android) e c++ (servidor). O problema é que na implementação do cliente no Android Studio há um erro de conexão, essa é a mensagem de erro que aparece:
image
Esse ip ("10.0.2.15") e o "1.1.1.1" são os únicos que não crasham o app.

O código que estou testando por enquanto é esse daqui:
package com.example.test1.testsocket;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;
import android.os.StrictMode;
import android.view.View;
import android.widget.EditText;

import java.io.DataOutput;
import java.io.DataOutputStream;
import java.io.IOException;
import java.net.Socket;

public class MainActivity extends AppCompatActivity {

EditText edTxt;
MyThread myThread;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build();
    StrictMode.setThreadPolicy(policy);
    edTxt = findViewById(R.id.edTxt);
    myThread = new MyThread();
    new Thread(myThread).start();


}

private class MyThread implements Runnable {
    private volatile String msg = "";
    Socket socket;
    DataOutputStream dos;

    @Override
    public void run() {
        try {
            socket = new Socket("10.0.2.3", 8080);
            dos = new DataOutputStream(socket.getOutputStream());
            dos.writeUTF(msg);
            dos.close();
            dos.flush();
            socket.close();
            System.out.println("passou");
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

    public void sendMsgParams(String msg) {
        this.msg = msg;
        run();
    }
}

public void btnClickSnd(View v) {
    String msg = edTxt.getText().toString();
    myThread.sendMsgParams(msg);
}

}

Seja o primeiro a responder