可能是因为客户端和服务器之间的连接未正常建立。为了解决这个问题,可以使用以下步骤:
确保客户端和服务器使用相同的IP地址和端口号进行通信。
在客户端中,使用以下Python代码建立Socket对象,并将其连接到服务器:
import socket
HOST = '192.168.x.x' # 服务器的IP地址
PORT = 8080 # 服务器的端口号
with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:
s.connect((HOST, PORT))
s.sendall(b'Hello, server')
data = s.recv(1024)
print('Received', repr(data)) # 显示从服务器接收的数据
import java.net.*;
import java.io.*;
public class Server {
public static void main(String[] args) throws IOException {
int portNumber = 8080; // 服务器的端口号
try (
ServerSocket serverSocket = new ServerSocket(portNumber);
Socket clientSocket = serverSocket.accept();
PrintWriter out = new PrintWriter(clientSocket.getOutputStream(), true);
BufferedReader in = new BufferedReader(
new InputStreamReader(clientSocket.getInputStream()));
) {
String inputLine;
while ((inputLine = in.readLine()) != null) {
out.println(inputLine); // 将客户端发送的数据返回给客户端
}
} catch (IOException e) {
System.out.println("Exception caught when trying to listen on port "
+ portNumber + " or listening for a connection");
System.out.println(e.getMessage());
}
}
}
通过这些步骤,可以确保客户端和服务器之间的连接已建立,并且可以在Android虚拟设备中的服务器上使用ServerSocket.accept()接受来自Python客户端的连接。