попробуйте получить сообщение с Android Studio - PullRequest
0 голосов
/ 18 октября 2019

Я пытаюсь получить эссе из кода 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();
    }});
...