Android客户端未从Python Server(SOCKET)接收

时间:2020-01-10 05:46:21

标签: java python android sockets server

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

我目前正在从事一个项目,该项目需要Android客户端将字符串数据发送到Python服务器,在该服务器上数据将被处理并从Python Server发送回Android客户端。我正在使用Socket,并设法将数据从客户端发送到服务器,并且还让服务器将数据发送回客户端。但是,我的客户什么也没收到,有人能帮助我解决这个问题吗?

这些是我的代码。

Android客户端接收:

 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()

0 个答案:

没有答案
相关问题