Я делаю приложение для 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()