Я пытаюсь получить эссе из кода Python, но на строке, когда он принимает компьютер, это выдает ошибку android.os.NetworkOnMainThreadException, для меня это потому, что я не закрыл soc, когда я пытаюсь отправитьсообщение, и именно поэтому, возможно, он не может принять компьютер, если кто-то знает лучше, чем я сокет на Android, я был бы рад, что вы помогли мне. Что странно, так это то, что он создал serveur с сокетом, поэтому я не знаю, почему это привело меня к этой ошибке, я поместил весь код так, что вам было бы легче найти ошибку. Танки за помощь
class Serveur {
private EditText tv;
public void main() {
try {
socketserveur = new ServerSocket(5567);
String line = "no";
while (line == "no") {
try {
client = socketserveur.accept();
System.out.println("accept");
InputStream input = sock.getInputStream();
BufferedReader reader = new BufferedReader(new InputStreamReader(input));
line = reader.readLine();// reads a line of text
tv.setClickable(true);
tv.setMovementMethod(LinkMovementMethod.getInstance());
String text = ("hello world<a href='https://www.google.com'>google</a> ");
tv.setText(Html.fromHtml(line));
System.out.println(line);
} catch (Exception i) {
System.out.println(i);
}
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
class SendMessage extends AsyncTask<Void, Void, Void> {
private TextView textView;
@SuppressLint("WrongThread")
@Override
protected Void doInBackground(Void... params) {
TextView t3;
t3=(TextView)findViewById(R.id.textView);
try {
sock = new Socket("192.168.5.178", 5000);
printWriter = new PrintWriter(sock.getOutputStream());
printWriter.write("hello world");
String line="no";
sock.close();
} catch (UnknownHostException e) {
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
}
WifiManager manager = (WifiManager) getApplicationContext().getSystemService(WIFI_SERVICE);
ip = Formatter.formatIpAddress(manager.getConnectionInfo().getIpAddress());
Toast toast = Toast.makeText(getApplicationContext(), ip, Toast.LENGTH_LONG); // initiate the Toast with context, message and duration for the Toast
toast.show();
String mes = "no text";
press.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
SendMessage sendMessage= new SendMessage();
sendMessage.execute();
Serveur serveur= new Serveur();
serveur.main();
}});