Не удается подключиться к серверу при подключении к точке доступа через сокет - PullRequest
0 голосов
/ 06 мая 2020

Я пишу приложение для android, которое создает клиента. Сервер (P C) подключен к этому мобильному телефону через Wi-Fi. Но похоже, что сервер не может слушать клиента. Я попытался изменить положение клиент-сервер, затем клиент (P C) показывает ConnectionRefusedError: [WinError 10061]. Пожалуйста, помогите.

Код для клиента

public class MainActivity extends AppCompatActivity {

    Button create,close;
    TextView tv;

    private Socket socket;
    private ServerSocket serverSocket;
    Handler updateConvHandler;
    Thread serverThread=null;
    static final int PortNo=6000;
    private static  String My_IP="192.168.43.140";


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        create=findViewById(R.id.btn);
        close=findViewById(R.id.btn2);
        tv=findViewById(R.id.textview);

        create.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {

                createClient();

            }
        });
        close.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                closeClient();
            }
        });


    }



    private void closeClient() {
        try {
            socket.close();
            Log.e("This", "closeClient: "+"Socket closed" );
        } catch (IOException e) {
            e.printStackTrace();

        }
    }


    private void createClient() {
        Log.e("This", "createClient: Client Is up" );
        new Thread(new ClientThread()).start();

    }

    class ClientThread implements Runnable {

        @Override
        public void run() {

            try {
                //Log.e("Here", "run: "+"Trying to reach" );
                InetAddress serverAddr = InetAddress.getByName(My_IP);
                socket = new Socket(serverAddr,PortNo);
                //socket.connect();

                Log.e("TAG", "run: "+"Successful"+socket.getLocalAddress() );
                OutputStream stream = socket.getOutputStream();
                DataOutputStream commStream = new DataOutputStream(stream);
                commStream.write("Hello From Client".getBytes());

            } catch (UnknownHostException e1) {
                e1.printStackTrace();
                Log.e("This", "run: uhe" );
            } catch (IOException e1) {
                e1.printStackTrace();
                Log.e("This", "run: ioe" );
            }

        }

    }

}

Код для сервера

import socket
s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
s.bind(('192.168.43.140',6000))
print("server is up")
s.listen(5)
conn,addr=s.accept()
print("client connected ",addr)
#msg=str(input("Message?\n>"))
#conn.send(msg.encode('utf-8'))
data=(conn.recv(1024)).decode('utf-8')

print(data)

conn.close()

Logcat показывает исключение тайм-аута

...