gpt4 book ai didi

java - 如何在java中接收socketServer上的对象

转载 作者:行者123 更新时间:2023-12-01 11:28:04 25 4
gpt4 key购买 nike

我想从客户端发送一个对象(数组)到服务器。我使用 ObjectInputStream 和 ObjectOutputStream。但是,这会调用一个错误,即这些方法未在 serverSocket 类中定义。我该如何解决这种情况?`

public int[] readResponse() throws IOException, ClassNotFoundException{
int[] x = new int[5];



ObjectOutputStream cO = new ObjectOutputStream(serverSocket.getOutputStream()); //here is the error
ObjectInputStream cI = new ObjectInputStream(serverSocket.getInputStream()); // here is the error

cO.writeObject(x);

x = (int[]) cI.readObject();
for (int i = 0; i < 5; i++){
System.out.println(x[i]);
}
return x;
}

最佳答案

java.net.ServerSocket 并不意味着用于实际的输入和输出;而是用于实际的输入和输出。它是一个套接字,用于在服务器上监听接受的传入连接请求,从而生成一个 java.net.Socket,然后用于读取和写入。

Socket socket = serverSocket.accept();
ObjectInputStream cI =
new ObjectInputStream(socket.getInputStream());

在客户端,通过调用构造函数创建 java.net.Socket,并通过地址连接到客户端。

Socket socket = new Socket( address, port );
ObjectOutputStream cO =
new ObjectOutputStream(socket.getOutputStream());

关于java - 如何在java中接收socketServer上的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30643865/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com