如何使用套接字设置从物理设备上的 Android 应用程序到 Python 程序的连接(选择 IP 地址)?

How to setup connection (choosing ip adress) from Android App on physical device to Python Program using sockets?

我是套接字编程的初学者。我写了一个 Python 代码来创建一个监听端口 12345 的套接字:

port=12343
s = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
IP = '0.0.0.0'
s.bind((IP,port))
s.listen(nb_max_connex)

print(f"Le serveur est lancé sur {IP} sur le port {port}.")

connexion,addresse=s.accept() #accepter la connexion 
print("Connecté à ",addresse)

这是我的 java 代码:

            Socket soc=new Socket("10.0.2.2",12343);
            if(soc.isConnected()){
                CharSequence text = "La connexion avec le système a été réalisée";
                Context context = GlobalApplication.getAppContext();
                Log.d("CONNECT","connecté au socket");
                //Toast.makeText(context,text,Toast.LENGTH_SHORT).show();
            }

10.0.2.2 与android 模拟器配合良好,连接成功。但是,当我在 phone 上安装我的应用程序时,我无法确定如何建立连接,我尝试使用 Socket soc=new Socket("127.0.0.1",12343) 但没有连接。 ..

有人可以帮我吗?

为此,要工作,您的笔记本电脑和手机需要连接到同一网络。然后获取您笔记本电脑的本地 IP 地址,如下所示。

如何获取您的 IP 地址:

在windows 打开命令提示符 -> 输入 ipconfig -> 复制你的设备 IP 阅读更多内容 https://support.microsoft.com/en-au/windows/find-your-ip-address-in-windows-f21a9bbc-c582-55cd-35e0-73431160a1b9

在 Linux 和 Mac 打开终端 -> 输入 ifconfig -> 复制你的设备 ip 阅读更多内容 https://www.macworld.co.uk/how-to/ip-address-3676112/#:~:text=the%20search%20bar.-,How%20to%20find%20your%20local%20internal%20(private/local)%20IP%20address,-The%20IP%20address

Socket soc=new Socket("laptop-ip-address",12343);
            if(soc.isConnected()){
                CharSequence text = "La connexion avec le système a été réalisée";
                Context context = GlobalApplication.getAppContext();
                Log.d("CONNECT","connecté au socket");
                //Toast.makeText(context,text,Toast.LENGTH_SHORT).show();
            }