Ich versuche, Android und meinen Linux-Host auf Unix-Domain-Sockets miteinander sprechen zu lassen.
Ich habe meinen Server auf dem Host, während der Client Teil einer Bibliothek ist, die der Software-Stack des Emulators verwendet. Der Android-Stack kann die von mir angegebene Socket-Stream-Datei nicht finden, die sich zufällig im Dateisystem des Hosts befindet.
Nun, bevor Sie "port forward" sagen, habe ich das versucht, und das habe ich versucht, basierend auf meinem Verständnis des abd forward
Befehls. Damit hatte ich keinen Erfolg. Könnt ihr bitte auf den Fehler hinweisen und mir helfen?
adb forward localfilesystem:/tmp/android_socket localfilesystem:android_socket
Der im Host verwendete Pfad ist /tmp/android_socket
und der im Android-Emulator ist "android_socket".
Unix-Domain-Sockets sind für die Kommunikation zwischen Prozessen auf einem Host gedacht, nicht für die Kommunikation zwischen Hosts. Sockets, die sich wie von Ihnen beschrieben im Dateisystem befinden, sind keine Unix-Sockets, sondern Named Pipes und sind ebenfalls auf die Verwendung auf demselben Host beschränkt.
Für die Kommunikation zwischen Hosts müssen Sie irgendeine Art von Netzwerk-Sockets verwenden.
Sid
Izzy
Sid
t0mm13b