TCP Socket соединение не принимает соединение - PullRequest
0 голосов
/ 11 октября 2018
@Override
    public void run() {
        tcpConnections = new ArrayList<>();
        try {
            ss = new ServerSocket(port);
            Log.d("Listening","Listening on port : " + ss.getLocalPort());
            while (true) {
                Log.d("Listening","Waiting for Client");
                socket = ss.accept();
                if (socket.isConnected())
                {
                    Log.d("SocketAccept", "client connected from: %s" + socket.getRemoteSocketAddress().toString());
                    TCPConnection tcpConnection = new TCPConnection(socket); // is it right way to start further steps of listening for incoming connections?
                    tcpConnections.add(tcpConnection);
                    tcpConnection.run();
                }
                else {
                    StopConnections();
                    break;
                }
            }
            Thread.sleep(100);
        } catch (InterruptedException e) {
            Thread.currentThread().interrupt();
        } catch (IOException e) {
            Log.d("Socket","socket is closed");
        }
    }

прослушивает соединения, принимает соединение, если согласие прошло успешно, соединение добавляется в список tcpConnections и запускает TCPConnection для дальнейшего прослушивания.Может ли кто-нибудь показать мне знать, может поставить все с помощью AsyncTask?

Так я звоню из MainActivity

 btn_Conn.setOnClickListener(new View.OnClickListener()
                                {
                                    @Override
                                    public void onClick(View v) {


                                        TCPServer connection = new TCPServer(7123);

                                        new Thread(connection).start();
...