Вопрос о сокете на другом роутере - PullRequest
0 голосов
/ 24 октября 2019

Я делаю приложение для Android, которое хочу опубликовать в магазине приложений, но проблема в том, что я не знаю, смогу ли я подключить мое приложение для Android к моему коду Python с помощью сокета, если я не на том же маршрутизаторе . Если мне нужно внести некоторые изменения, что это такое или как я могу это сделать, если я хочу, чтобы приложение для Android, которое кто-либо мог загрузить в магазине приложений, подключалось к моему коду python, который находится в том же порту. для знаю мой код для подключения обеих программ являются

 try {
                    handler.post( new Runnable() {

                        @Override


                        public void run() {
                            Toast.makeText(getApplicationContext(),"start client", Toast.LENGTH_LONG).show();
                        }
                    } );
                    WifiManager manager = (WifiManager) getApplicationContext().getSystemService(WIFI_SERVICE);
                    ip = Formatter.formatIpAddress(manager.getConnectionInfo().getIpAddress());
                    String mess = h[0];
                    String messag_send=(mess+"<ip>"+ip);


                    sock = new Socket( "192.168", 5000 );


                    printWriter = new PrintWriter( sock.getOutputStream() );


                    printWriter.write(messag_send);


                    String line = "no";
                    printWriter.flush();
                    printWriter.close();
                    sock.close();
                } catch (UnknownHostException e) {
                    e.printStackTrace();

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

и для службы

 host, port = ('',5000)
    socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)


#face_cascade = cv2.CascadeClassifier('cascade/data/haarcascade_frontalface_alt.xml')
#recognizer = cv2.face.LBPHFaceRecognizer_create() 
o=False

while o==False:
    try:
        socket.bind((host, port))

        print("le serveur est démarré! o = true")           
        o=True

    except OSError:

        o=False
    finally:
        if(o is not False):
            o=True





  socket.listen(5)
    conn, adress = socket.accept()
    print("listening")
    data= conn.recv(2048)
    print("h" )
    print(data)
    socket.close()
...