- Posts no fórum: 1
27/01/2023, 22:22:27 via Web
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:
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);
}
}
Conteúdo editorial recomendado
Com o seu consentimento, o conteúdo externo é carregado aqui.
Ao clicar no botão acima, concorda que o conteúdo externo poderá ser-lhe exibido. Os dados pessoais podem ser transmitidos a fornecedores terceiros no processo. Pode encontrar mais informações sobre isto no nosso Política de Privacidade.