繁体   English   中英

Android 客户端未从 Python 服务器 (SOCKET) 接收

[英]Android Client not receiving from Python Server (SOCKET)

我是编程新手,一直在浏览我的项目的教程。 如果我对大多数事情似乎一无所知,请原谅我。

我目前正在开发一个项目,该项目需要 Android 客户端将字符串数据发送到 Python 服务器,在那里数据将被处理并从 Python 服务器发送回 Android 客户端。 我正在使用 Socket 并设法将数据从客户端发送到服务器,并让服务器将其发送回客户端。 但是,我的客户没有收到任何东西,有人能帮助我解决这个问题吗?

这些是我的代码。

安卓客户端接收:

 class recMsg extends Thread {
    @Override
    public void run()
    {
        try
        {
            Socket socket = new Socket("192.168.68.105", 8123);
            BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
            String response = in.readLine();
            showToast(response);
            mTextView.setText((response));
            socket.close();
        }
        catch(Exception e) {}
    }
}

Python服务器接收和发送:

import socket
import sys

HOST = '192.168.68.105'  # this is your localhost
PORT = 8123

s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# socket.socket: must use to create a socket.
# socket.AF_INET: Address Format, Internet = IP Addresses.
# socket.SOCK_STREAM: two-way, connection-based byte streams.
print('socket created')

# Bind socket to Host and Port
try:
    s.bind((HOST, PORT))
except socket.error as err:
    print('Bind Failed, Error Code: ' + str(err[0]) + ', Message: ' + err[1])
    sys.exit()

print('Socket Bind Success!')

# listen(): This method sets up and start TCP listener.
s.listen(10)
print('Socket is now listening')

while True:

    conn, addr = s.accept()
    print('Connect with ' + addr[0] + ':' + str(addr[1]))
    if not conn:
        break
    buf = conn.recv(4096).decode()
    print(buf)

    # convert string to byte and send back to android
    processedText = "Hello World"
    conn.send(processedText.encode())
    print("message sent")

s.close()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM