Win a copy of Kotlin in Action this week in the Kotlin forum!
  • Post Reply Bookmark Topic Watch Topic
  • New Topic

Writing objects over nio  RSS feed

 
Rikard Qvarforth
Ranch Hand
Posts: 107
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
how to convert a lets say a Person obj to ByteBuffer so one can send over a socketShannel and the reconstruct the Person object, im looking for a ObjectOutputstream/ObjectInputstream over nio ?
:roll:
 
Ron Hitchens
Author
Ranch Hand
Posts: 30
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
ByteBuffers and channels deal only with arrays of bytes, they have no conception of things like ObjectStreams.
Sending a serialized object graph over an NIO channel is no different than sending any other chunk of bytes. You just need to obtain the bytes representing your serialized object and write it to the channel. Here are two ways to do so:

or

In the first case, you've got the encoded object graph in a ByteBuffer instance and could do other things with it if you like. The second uses a utility adapter class which will handle the conversion from stream to channel for you.
 
Rikard Qvarforth
Ranch Hand
Posts: 107
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
oh many thanks i dident get that one could do chaining with nio this was nice because im after the non blockable read/write methods in nio. im doing a little server/client progg.so i thougth that it would be nice with nio thanks !
 
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
Boost this thread!