使用http url连接java发送POST请求

问题描述 投票:0回答:0

我正在尝试配置系统客户端服务器。 服务器使用java服务器套接字,客户端使用和http url连接连接到服务器。

服务器的代码是:

private static ServerSocket server;
private static int port = 9876;
server = new ServerSocket(port);
while(true){
    System.out.println("Waiting for the client request");
    Socket socket = server.accept();
    InputStream inputStream = socket.getInputStream();
    ObjectInputStream objectInputStream = new ObjectInputStream(inputStream);

    Object object = objectInputStream.readObject();
    if (object instanceof String) {
        String payload = (String) object;
        System.out.println("Payload received from client: " + payload);
    }
socket.close();

客户端的代码是:

int serverPort = 9876;
String serverURL = "http://localhost:" + serverPort;
Object payload = "Test payload";
HttpURLConnection connection = null;

try {
    URL url = new URL(serverURL);
    connection = (HttpURLConnection) url.openConnection();
    connection.setDoInput(true);
    connection.setDoOutput(true);

    connection.setRequestMethod("POST");
    connection.setRequestProperty("Content-Type", "application/json; charset=UTF-8");

    OutputStream outputStream = connection.getOutputStream();
    ObjectOutputStream objectOutputStream = new ObjectOutputStream(outputStream);

    objectOutputStream.writeObject(payload);
    objectOutputStream.flush();
    objectOutputStream.close();
} catch (IOException e) {
    e.printStackTrace();
} finally {
    if (connection != null) {
        connection.disconnect();
        }
    }
}

系统返回的错误是:java.io.EOFException这一行:
ObjectInputStream objectInputStream = new ObjectInputStream(inputStream). 可能是什么问题? 谢谢你的时间!

我尝试使用不同的函数来读取流,但我需要使用类 ObjectInputStream。 使用它,它不起作用。

java post httpurlconnection serversocket
© www.soinside.com 2019 - 2024. All rights reserved.