2 votes

Sockets de domaine Unix entre l'hôte et l'émulateur

J'essaie de faire en sorte qu'Android et mon hôte Linux communiquent entre eux sur des sockets de domaine Unix.

Mon serveur est sur l'hôte tandis que le client fait partie d'une bibliothèque que la pile logicielle de l'émulateur utilisera. La pile Android n'est pas en mesure de trouver le fichier de flux de socket que j'ai spécifié et qui se trouve sur le système de fichiers de l'hôte.

Maintenant, avant que vous ne disiez "transfert de port", j'ai essayé cela et voici ce que j'ai essayé en me basant sur ma compréhension de l'interface utilisateur. abd forward commande. Je n'ai pas réussi à le faire. Pourriez-vous m'indiquer l'erreur et m'aider ?

adb forward localfilesystem:/tmp/android_socket localfilesystem:android_socket

Le chemin utilisé dans l'hôte est /tmp/android_socket et que dans l'émulateur Android, c'est "android_socket".

2voto

Andrew Williams Points 667

Sockets de domaine Unix sont destinés à être utilisés pour la communication interprocessus sur un hôte, pas pour la communication interhôte. Les sockets qui sont situés sur le système de fichiers comme vous le décrivez ne sont pas des sockets unix, mais des pipes nommés, et sont également limités à une utilisation sur le même hôte.

Pour la communication inter-hôtes, vous devez utiliser des sockets réseau d'un type ou d'un autre.

androidalle.com

AndroidAlle est une communauté de androiders où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X