Как подключиться к локальному Python серверу из Android эмулятора - PullRequest
0 голосов
/ 21 февраля 2020

Я пытаюсь подключиться к локальному Python серверу из эмулятора Android Studio. Когда я пытаюсь из браузера эмулятора, я получаю «ERR_CONNECTION_REFUSED». Если я пытаюсь подключиться через браузер хост-машины или терминал linux, у меня нет проблем. Ниже приведен код сервера, а также мой файл манифеста Android.

Если это имеет значение: IDE - это Android Studio (плохо, я знаю), ОС - Pop_OS

Сервер

import socket


# get the hostname
host = socket.gethostname()
port = 8800  # initiate port no above 1024
print('Server On')
server_socket = socket.socket()  # get instance
# look closely. The bind() function takes tuple as argument
server_socket.bind((host, port))  # bind host address and port together

# configure how many client the server can listen simultaneously
server_socket.listen(2)
conn, address = server_socket.accept()  # accept new connection
print("Connection from: " + str(address))
while True:
    # receive data stream. it won't accept data packet greater than 1024 bytes
    data = conn.recv(1024).decode()
    if not data:
        # if data is not received break
        break
    print("from connected user: " + str(data))
    #data = input(' -> ')
    #conn.send(data.encode())  # send data to the client

conn.close()  # close the connection

app / src / degub / manifest

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.palm_trimmer">
    <!-- Flutter needs it to communicate with the running application
         to allow setting breakpoints, to provide hot reload, etc.
    -->
    <uses-permission android:name="android.permission.INTERNET"/>
</manifest>

1 Ответ

0 голосов
/ 22 февраля 2020

Благодаря предложению @ greeble31 я проверил состояние порта моего хост-компьютера (используя nmap) и обнаружил, что порт, к которому я привязал сервер, не был открыт. После замены порта '8888' одним из открытых я смог успешно подключить эмулятор к локальному хосту.

...