假设我想通过Java中的套接字通过网络发送一组对象。具体来说,假设我想发送一组BigInteger
个对象。发送方应该简单地将这个数组发送到套接字上的一个块中,这样接收方就可以将接收到的对象转换为正确的形式。
如何实现这一目标?
我尝试使用ObjectOutputStream
发送此对象数组。但是,它并没有按计划进行。
部分代码:
BigInteger[] bigIntegers = new BigInteger[10];
bigIntegers[0] = new BigInteger("0");
bigIntegers[1] = new BigInteger("1");
outputStream = new ObjectOutputStream(socket.getOutputStream());
outputStream.writeObject(bigIntegers);
我认为两端的底层架构是相同的。
有人可以展示如何发送这样的对象集合,以及在套接字的另一端接收此集合吗?
谢谢,
答案 0 :(得分:1)
您可以使用
将对象发送到服务器套接字objectOut.writeObject(bigIntegers);
objectOut.flush();
并且可以使用在服务器端检索该对象
这里client
是clientsocket
ObjectInputStream objectIn = new ObjectInputStream(client.getInputStream());
BigInteger[] array = (BigInteger[]) objectIn.readObject();