我是编程新手,一直在为我的项目浏览教程。如果我对大多数事情似乎一无所知,请原谅我。
我目前正在从事一个项目,该项目需要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()