как получить данные с сервера в виде текстового сообщения или тост сообщения - PullRequest
0 голосов
/ 28 марта 2019

Я пытаюсь выполнить настройку сокета в Java.И я хочу отправлять и получать данные от клиента к серверу.Клиент - это мое приложение для Android, а сервер - мой компьютер.Клиент-сервер подключается, а также получает данные.Но когда я пытаюсь отправить его с сервера на клиент, устройство Android не получает его.Я пытаюсь упомянуть это в текстовом представлении или как тост.

Заранее спасибо

Android Studio 3.1 - версия Android для Oreo

Socket Test V 3.0.0

КЛИЕНТ: (отлично работает)

public class SendMessage extends AsyncTask<String, Void, Void>
{
    Socket s;
    DataOutputStream dos;
    PrintWriter pw;


    @Override
    protected Void doInBackground(String... voids)
    {
        String message = voids[0];

        try
        {
            s = new Socket( "197.70.107.35", 3344 );
            pw = new PrintWriter( s.getOutputStream() );
            pw.write( message );
            pw.flush();
            //pw.close();
            //s.close();


        } catch (IOException e)
        {
            e.printStackTrace();
        }
        return null;
    }
}

SERVER PART (выпуск)

public class MainActivity extends AppCompatActivity {
    EditText e1;
    TextView e2;


    @Override
    protected void onCreate(Bundle savedInstanceState)
    {
        super.onCreate( savedInstanceState );
        setContentView( R.layout.activity_main );
        e1 = (EditText) findViewById( R.id.editText );
        e2 = (TextView) findViewById( R.id.receive );

        Thread myThread =  new Thread( new MyServerThread() );
        myThread.start();

    }

    class MyServerThread implements Runnable {
        Socket s;
        ServerSocket ss;
        InputStreamReader inr;
        BufferedReader bufferedReader;
        String message;
        Handler h = new Handler();

        public void run() {
            try {
                char[] data = new char[10];
                ss = new ServerSocket( 3344 );
                while (true) {

                    InputStreamReader inr = new InputStreamReader( s.getInputStream() );
                    int da = inr.read( data, 0, 9 );
                    System.out.print( data );

                }
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }

    public void send(View v)
    {
        SendMessage SendMessage= new SendMessage();
        SendMessage.execute( e1.getText().toString());
    }

}

Необходимость получения данных от SERVER в мобильное приложение (клиент) в виде сообщения Toast или в виде текста.

...