如何:通过套接字发送对象集合?

时间:2015-05-11 06:43:12

标签: java network-programming biginteger

假设我想通过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);

我认为两端的底层架构是相同的。

有人可以展示如何发送这样的对象集合,以及在套接字的另一端接收此集合吗?

谢谢,

1 个答案:

答案 0 :(得分:1)

您可以使用

将对象发送到服务器套接字
objectOut.writeObject(bigIntegers);
objectOut.flush();

并且可以使用在服务器端检索该对象 这里client是clientsocket

ObjectInputStream objectIn = new ObjectInputStream(client.getInputStream());
BigInteger[] array = (BigInteger[]) objectIn.readObject();